#include<stdio.h>
int addd(int a,int b);
int main(){
int i,j;
printf("输入项数:");
scanf("%d",&i);
printf("\n\n前%d项相加为:",i);
addd(i,j);
printf("%d",j);
}
int addd(int a,int b){
for(b=0;a>=1;a--){
b=b+a;
};
return b;
}
方法一:传值不成功的原因是在形参b上改变了数值,没有在实参j上改变数值。
例如输入100,返回值是100的和,但是你没有赋值给j。
一项一项相加,都没有错:
最后结果如同你所说,返回值是0,但是查看b的值是5050,明明没有错误。
原因找到了,你没有把返回值赋值给j,现在正确了:
方法二:直接改变实参变量j的值