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”吗? –