#include
int main(){
int cnt;
int x,sum;
printf("输入个数");
scanf("%d",&cnt);
if (cnt>0) {
int number[cnt];
cnt=0;
scanf("%d",&x);
while (x!=-1){
number[cnt]=x;
sum +=x;
cnt ++;
scanf("%d",&x);
}
}
printf("%d",sum);
return 0;
}
cnt=0;是啥操作
如果你的IDE支持C99,那么当你的cnt变成0的时候,数组长度也变成0了
如果你的IDE不支持C99,那整个语法都是错的
你实际上就是数组一直在越界使用
cnt ++;又是啥操作
数组长度的变量和输入个数不要使用同一个变量
-=-=-=-=
另,这题根本没必要存数组啊,过后又不排序,直接加完这数就没用了,存它干嘛
-=-=-=
又另,c语言是基于指针的,所以很多时候出现野指针也根本不报错,但是可能会把你内存数据搞的一团糟
你应该庆幸debug的时候会报错,才能让你检查出很多问题,这些问题检查不出来会出更大的问题