这段C程序输入一个数100,输出结果为n=5050a=10,求讲解a为什么为10?int s(int n){ int i; for(i=n-1;i>=1;i--) n=n+i; printf("n=%d",n); getchar();}main(){ int a; printf("input number\n"); scanf("%d",&a);
这段C程序输入一个数100,输出结果为n=5050a=10,求讲解a为什么为10?int s(int n){ int i; for(i=n-1;i>=1;i--) n=n+i; printf("n=%d",n); getchar();}main(){ int a; printf("input number\n"); scanf("%d",&a);
这段C程序输入一个数100,输出结果为n=5050a=10,求讲解a为什么为10?
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d",n);
getchar();
}
main()
{
int a;
printf("input number\n");
scanf("%d",&a);
a=s(a);
printf("a=%d",a);
getchar();
}
这段C程序输入一个数100,输出结果为n=5050a=10,求讲解a为什么为10?int s(int n){ int i; for(i=n-1;i>=1;i--) n=n+i; printf("n=%d",n); getchar();}main(){ int a; printf("input number\n"); scanf("%d",&a);
这个原因很简单,
就是你的int s(int n)没有用return 语句,而函数默认的返回值,就是最后一个语句的返回值,而getchar的返回值是得到的char的转换为int型返回.
int s(int n)函数里面的getchar得到的是输入100后留下的回车'\n',
其int值为10.
而a = s(a);
所以输出的a是10,希望能看懂.