求問各位大神這個為什么會報錯呀
int main(void)
{
int a = 0; //數量
printf("請輸入任意的數量\n");
scanf("%d",&a);
int n[a];
int k=0;//括號內
printf("請輸入任意的分數\n"); // printf()是輸出函式,scanf()才是輸入函式
for(k=0;k<=(a-1);k++)
{
scanf("%d", &n[k]); // scanf()引數串列中注意 “&”
}
for(k=0;k<=(a-1);k++)
{
if (n[K]<0 || n[K]>100)//排除小于0或大于100的情況
printf("輸入分數有誤\n");
else if (n[K] <= 59)// 0 <= n <= 59
printf("E\n");
else if (n[K] <= 69)// 59 < n <= 69
printf("D\n");
else if (n[K] <= 79)// 69 < n <= 79
printf("C\n");
else if (n[K] <= 89)// 79 < n <= 89
printf("B\n");
else if (n[K] <= 100)// 89 < n <= 100
printf("A\n");
}
return 0;
}
uj5u.com熱心網友回復:
報什么錯?編譯錯還是運行錯?uj5u.com熱心網友回復:
int n[a]; ----------- 是這里錯了嗎?資料宣告要用常量,不能用變數auj5u.com熱心網友回復:
int n[a]; ==》》c語言不支持這樣定義陣列,a得是個常量值。uj5u.com熱心網友回復:
把K換成k應該就好
uj5u.com熱心網友回復:
樓上正解,問題應該主要出在你的變數名上,上面用的是定義過得k,下面使用的是沒定義過的K,你的程式報錯應該有報哪一行K沒定義吧?uj5u.com熱心網友回復:


把圖中的a,K(用大寫的都得該)改一下

我用的是vs2019,scanf得改成scanf_s(好像是從vs2017)開始的。不是不用管。
uj5u.com熱心網友回復:

最后一張圖放錯了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61562.html
標籤:C語言
上一篇:請問我這個DevC++的專案選項里為什么都是灰色的?
下一篇:【急急急】約瑟夫環升級版
