これはコードです。なぜ私はこのエラーを直面していますし、情報のどのようなソースは、私はX「エラー 『これは何を意味し、どのように修正するのですか?***スタックスマッシングが検出されました***:./array1output terminated
#include<stdio.h>
void main()
{
int i,avg,sum;
int marks[30]; // Array declaration
for(i=0;i<31;i++)
{
printf("Enter Marks:");
scanf("%d",&marks[i]); // Stores data in Array
}
for(i=0;i<31;i++)
sum=sum+marks[i];
avg=sum/30;
printf("Average marks of student \t %d",avg);
}
'用(i = 0; I <31;i++)' -->'用(i = 0; iは30 <; iは++) ' – chux
'マークが[30] 'サイズ30(0の配列を定義int型.. 29インデックス)、あなたの 'forループ 'では存在しないマーク[30]にアクセスしています – hmofrad
@ MohammadH.Mofradの答えに追加するには、マーク[30]に書き込むときに、プログラムが所有していません。プログラムがクラッシュします。詳細はこちらhttp://stackoverflow.com/questions/1345670/stack-smashing-detected – Sush