发生了什么,为什么这不起作用?

时间:2016-12-23 16:08:50

标签: c linux

这是代码。非常基础,应该正常工作:

int main() {
    int n, status, i;
    printf("Please enter an integer bigger than 1: ");

    status = scanf("%d", &n);

    if (status != 1 || n > 1) {
        printf("Invalid input!");
        return 1;
    }

    for (i = 2; i <= n; i++) {
        printf("What is going on %d\n", i);
    }

    return 0;
}

程序编译好,在插入“10”作为输入后,程序什么也不做。就好像return 0没有做任何事情一样。

编辑 这里的主要教训是不要在问题发布时发布问题并且你太累了。接受的答案(以及少数友好评论)显示了原因

1 个答案:

答案 0 :(得分:0)

你没有在这里看到问题吗?

if (status != 1 || n > 1) { // n can not be larger than 1.
    printf("Invalid input!");
    return 1;
}

for (i = 2; i <= n; i++) { // n must be larger than 2.
    printf("What is going on %d\n", i);
}