C语言数字累加

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:01:08
#include<stdio.h>

void add(int sum)
{
int i=0;
int a;
while(i<=a){
sum=sum+i;
i++;
}
}
void main()
{
int i,a,sum;
printf("Input a number:");
scanf("%d",&a);
add(sum);
printf("sum=%d \n",sum);
getchar();
getchar();
}

这里哪里错了啊~我得不到预想中的答案的说~拜托各位提点提点

很简单,在main()中的 sum和add()里面的sum不是同一个变量。你只需要把add()改成int add(int sum),然后这个函数返回return sum;
在用的时候add(sum)改成sum=add(sum),
具体为什么你自己想想,跟C语言书上的swap(a,b)的例子一样的道理 。

int add(int a)
{
int i=0;
int sum;
while(i<=a){
sum=sum+i;
i++;
}
return sum;
}
void main()
{
int i,a,sum;
printf("Input a number:");
scanf("%d",&a);
sum = add(a);
printf("sum=%d \n",sum);
getchar();
getchar();
}