我的程序有问题,应该将数字从1到70000(1 + 2 + 3 + 4 + ... + 69999 + 70000)相加.我的程序可以将数字总和达到65535而没有问题,但是对于65535以上的任何求和,结果显示负数,这是错误的.任何人都可以向我解释为什么我的程序不能总和65535以上的数字?
这是我的代码:
#include <stdio.h>
void sum(int *s)
{
*s=0;
int i=1;
int n=70000;
while(i<=n)
{
*s+=i;
i++;
}
}
main()
{
int s;
sum(&s);
printf("Suma prirodnih brojeva od 1 do 70000 je: %d\n",s);
}
Run Code Online (Sandbox Code Playgroud)