作业帮 > 综合 > 作业

这段C程序输入一个数100,输出结果为n=5050a=10,求讲解a为什么为10?

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/08 14:12:13
这段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)没有用return 语句,而函数默认的返回值,就是最后一个语句的返回值,而getchar的返回值是得到的char的转换为int型返回.
int s(int n)函数里面的getchar得到的是输入100后留下的回车'\n',
其int值为10.
而a = s(a);
所以输出的a是10,希望能看懂.