c - c语言排序数组错误

标签 c arrays sorting visual-studio-2013

程序将每个球员的进球数写在排列好的列表中

在 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/

相关文章:

c - 在 C 中搜索 char 数组以查找数组中的位置

sql-server - 如何在 Visual Basic 6 ListView 上进行多列排序?

javascript - 如何对充满对象的数组进行排序,每个对象都包含月-年格式的日期属性?

c - 错误 C2059 : syntax error : 'bad suffix on number' with cl. exe vc 编译器

c++ - 无法理解线路的工作原理

Javascript:为了不间断显示图片,试图重构这么多IF语句

JavaScript:push 方法来平均数组

javascript - 在 JavaScript 中将对象的值分配给另一个数组

c - 如何使用 getpwuid_r() 正确设置缓冲区和 bufsize?

c - 在 C 中将字符串从一个数组移动到另一个数组