没有显示错误但就是运行不了

#include <stdio.h>

int main()

{

int a[3],i,sum=0,ave;

for(i=0;i<4;i++)

{

printf("%d",a[i]);

sum+=a[i];

}

ave=sum/4;

printf("%d %0.1f",sum,ave);

return 0;

}


名不见经传的小菜鸟
浏览 1416回答 3
3回答

kevinZee

int a[3] 就是分配了这个数组内存而已,里面是一堆垃圾值,你应该int a[3] = {0,1,2};  //or int a[] = {1,3,4};  //数组长度 sizeof(a)/sizeof(int)类似这样且a的长度是3,数组下标自0开始,遍历的时候i<4是会越界的

慕用4063026

加入scanf("%d",&i); 函数,不然没有各个元素没有值,还有你的ave用的是%f那么声明:float ave;还有你的数组长度是【3】那么sum/3

慕先生5139621

好像越界了
打开App,查看更多内容
随时随地看视频慕课网APP