读书人

C 语言 新手刚编写程序就出现一个有

发布时间: 2012-03-23 12:06:21 作者: rapoo

C 语言 新手,刚编写程序就出现一个问题。代码如下。
/*test.c*/
#include <stdio.h>
int main(void){
int result = dd(3);
printf("result is : %d.\n",&result);
return 0;
}

int dd(int num){
int result = 1;
for(int i=1;i<=num;i++){
result *= result*i;
}
return result;
}

感觉理论中的result应该是6、但结果却是1245060.真没看出哪里有错误

[解决办法]
printf("result is : %d.\n",&result);这个错误了,&result是result的地址,应该改成result
[解决办法]
而且结果应该是12 不是6 要注意你的result *= result*i;如果想输出6,应该改为result = result*i;
[解决办法]
printf("result is : %d.\n",&result);改成printf("result is : %d.\n",result);试试。




[解决办法]
输出不要加地址符号&那样输出的是result变量的地址,不是里面的值。楼上正解

读书人网 >C语言

热点推荐