#include <stdio.h>
int sum(int k);
void main()
{
int s,i;
for (i=1;i<=10;i++) s=sum(i);
printf("s=%d\n",s);
}
int sum(int k)
{
int x=0;
x+=k;
return (x);
}
你打印每次的s就知道问题在哪了,你是想实现累加,但是每次调用sum(i)时,进行的操作都是
原因,sum函数是值传递,改为引用传递
#include <stdio.h>
int sum(int k);
void main()
{
int s,i;
for (i=1;i<=10;i++) {
s=sum(i);
printf("s=%d\n",s);
}
}
int sum(int k)
{
int x=0;
x+=k;
return (x);
}
sum函数只是原封不动的返回,当i=10时,s当然也是10,不过我觉得可以多看书巩固一下C语言的用法,
sum()函数每次都返回 k 的值.
主函数虽然循环 10 次,s = sum(i) 是赋值语句,i 循环到 10 时,sum(10) = 10 , s = 10 ,然后输出s 。