【问题标题】:Why this code doesn't give any output nor does the execution terminates?为什么这段代码没有给出任何输出,也没有执行终止?
【发布时间】:2021-02-24 14:26:02
【问题描述】:

每当我在代码块中运行此代码时,它都会编译而不会出现任何错误和警告,但是当我执行它时,它不会显示任何输出,也不会像我运行的其他代码那样自行终止。

#include <stdio.h>
int main ()
{
    int i = 1;
    while (i<=10);

    {
        printf("%d \n",i);
        i = i + 1;
    }
}

【问题讨论】:

  • 启用所有编译器警告。一个良好启用的编译器会发出警告,如“警告:这个 'while' 子句不保护...... [-Wmisleading-indentation] while (i
  • 编译器确实给出了警告,但为什么编译器在分号后的 while 大括号中没有给出任何警告或错误?
  • Priyank Dave 启用所有警告或使用更好的编译器。你用什么来启用所有警告? -Wall 不足以使用 gcc。

标签: c windows unix


【解决方案1】:

由于输入错误,您创建了一个无限循环:

while (i<=10);

去掉分号。

【讨论】:

    猜你喜欢
    • 2022-06-13
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    相关资源
    最近更新 更多