新人报道!偶是带着问题来的,今天看小甲鱼从0学C视频。关于有个阶乘的习题中的问题
无基础,刚刚开始学C再看视频过程中跟着练习 !有个阶乘的习题自己试着写了下。但是一直未能得出正确的答案。摸索了好一会……
代码奉上……望指点!!
题目:计算s = 2^2! + 3^2!
#include <stdio.h>
int pingfang(int a); //声明平方函数pingfan()
int jiecheng(int b); //声明阶乘函数jiecheng()
void main()
{
int x = 2, y = 3, s;
s = jiecheng( pingfang(x) ) + jiecheng( pingfang(y) );
printf("s = 2^2! + 3^2!中s的值为:%d\n",s);
}
int pingfang(int a ) //定义平方函数pingfan()
{
int z;
z = a * a;
return z;
}
int jiecheng(int b) //定义阶乘函数jiecheng()
{
int x = b;
for (b=b-1; b>0; b--) //出问题的地方在这里 原本写的是for (b; b>0; b--)后改为for (b-1; b>0; b--) 最后才写的现在的
x *= b;
return x;
}
我想不明白为什么b-1不行呢……有能讲解下的么 你的判断条件是b 你初始化b-1或者减去任何数对b来说是不会有任何影响的
本身函数接受了参数b的值时for的初始化已经完成 b-1是没有任何意义的 nin98 发表于 2015-7-6 23:40
你的判断条件是b 你初始化b-1或者减去任何数对b来说是不会有任何影响的
本身函数接受了参数b的值时for的初 ...
哦似乎有点懂了!意思就是这个表达式没有完成赋值,只是一个无用表达式呗
nin98 发表于 2015-7-6 23:40
你的判断条件是b 你初始化b-1或者减去任何数对b来说是不会有任何影响的
本身函数接受了参数b的值时for的初 ...
额!
突然明白了!忘记说谢谢了
现在给补上
谢谢哈!!:lol: mse9591 发表于 2015-7-6 23:47
额!
突然明白了!忘记说谢谢了
现在给补上
额,你不要是跑去会我的贴了,我都没想到要那么做,能得到结果,看完这程序。瞬间懂了
谢谢了哈
页:
[1]