代码没有运行但编译?

时间:2017-02-17 05:55:33

标签: c loops scope

过去两天我一直在努力学习C语言,而且我似乎无法让这个程序运行起来。对不起,这可能是一个微不足道的问题,刚刚开始,似乎无法找到快速答案。

#include <stdio.h>

void chopper() {
    int z = 0;
    while (z < 10) {
        printf("They equal and this code works!");
        z++;
    }
}

int main() {
    int x = 0;

    int flag = 0;

    if (flag == 1) {
        chopper();
    }
    for (int x; x < 10; x++) {
        printf("%d\n", x);
        if (x == 10) {
            flag == 1;
        }
    }
    return 0;
}

1 个答案:

答案 0 :(得分:4)

您有多个问题。

    {li> flag == 1;if内无用。可能你意味着并希望flag = 1;
  • 在for循环中,x未初始化。
  • 外部范围x未使用。注意

您想要的是将for循环语句重写为

for (x; x < 10; x++)

,或者

for (; x < 10; x++)

使用外部x变量。根据显示的代码,您无论如何都不需要两个单独的变量。

注意:要了解有关范围的更多信息,请refer to this previous Q&A