0
所有我只想說聲對不起,如果我看起來像在這篇文章的白癡首先,我是完全新的C.不管怎麼說,我的問題是,而下面是我得到這個奇怪的錯誤一個YT教程,我試圖讓一個程序由具有玩家ID的陣列來計算曲棍球最好的球員,他們有多少個進球,他們有多少目標和發揮每個球員的場分球打出。最後我打印出來的最好成績和玩家的ID,但由於某種原因,我得到一個錯誤,這裏是我的代碼:訂閱值既不是數組,也不指針
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int players[5] = {5, 3, 4, 2, 1};
int goals = {3, 2, 5, 4, 5};
int gamesPlayed = {1, 1, 3, 2, 2};
float ppg[5];
float bestPPG = 0.0;
int bestPlayer;
for (i=0; i<5; i++)
{
ppg[i] = (float)goals[i]/(float)gamesPlayed[i];
if (ppg[i] > bestPPG)
{
bestPlayer = players[i];
bestPPG = ppg[i];
}
}
printf("The best player was %d", bestPlayer);
return 0;
}
輸出:
line: 16
error: subscripted value is neither array nor pointer nor vector
在OP的這些代碼行是錯誤的 - 如果看到沒有錯誤,則OP需要改變編譯器設置。 –
我明白,OP提到的輸出實際上是計算機錯誤。我更新了我的答案以反映這一點。 – reindeer
我知道'詮釋目標= {3,2,5,4,5};'是錯誤的,是沒有意義的,但它是不確定的行爲?如果不是,「目標」保證是「3」嗎? –