主题:编程遇到的一个小问题
下面是我写的求n!的程序,倒数第二行的b开始我写成了&b,结果不论输入n为多少,输出一律为-42,请问这是存放b的地址吗?理解深入的大虾请指点一点。ps:蓝色的部分可以直接写成s(n)吗?可以的话后面怎么改。
int s(int n)
{ int i;
for(i=n-1;i>=1;i--)
n=n*i;
return n;
}
main()
{ int n,b;
printf("\ninput a number:\n");
scanf("%d",&n);
[color=000080] b=s(n);[/color]
[color=800000] printf("b=%d\n",b);[/color]
}
int s(int n)
{ int i;
for(i=n-1;i>=1;i--)
n=n*i;
return n;
}
main()
{ int n,b;
printf("\ninput a number:\n");
scanf("%d",&n);
[color=000080] b=s(n);[/color]
[color=800000] printf("b=%d\n",b);[/color]
}