C 语言 新手,刚编写程序就出现一个有关问题。代码如下
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变量的地址,不是里面的值。楼上正解
/*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变量的地址,不是里面的值。楼上正解