程序将每个球员的进球数写在排列好的列表中
在 C 语言代码中对数组进行排序在 Visual Studio 中显示错误“未计算为常量”。
int main() {
int i,temp,swaped;
int howmany = 10;
int goal[howmany];
for (i = 0;i <= howmany;i++) {
goal[i] = (rand() % 40)+1;
}
printf("orignal list");
for (i = 0;i <= howmany;i++) {
printf("%d \n", goal[i]);
}
while (1) {
swaped = 0;
for (i = 0;i < howmany;i++) {
if (goal[i] > goal[i + 1]) {
goal[i] = temp;
goal[i] = goal[i + 1];
goal[i + 1] = temp;
swaped = 1;
}
}
if (swapped == 0) {
break;
}
printf("sorted list");
for (i = 0;i < howmany;i++) {
printf("%d \n", goal[i]);
}
}
_getch();
return 0;
}
最佳答案
Visual Studio 2013 有一个非常老旧的 C 编译器,即使经过这么多年,它仍然不理解 C99。所以你需要改变这个:
int howmany = 10;
int goal[howmany];
到:
#define howmany 10
int goal[howmany];
关于c - c语言排序数组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871245/