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变量的地址,不是里面的值。楼上正解