Moh*_*shi -1 c for-loop infinite-loop
我对C语言中的for循环问题感到困扰.
我写的时候:
#include<conio.h>
#include<stdio.h>
main()
{
int i = 0;
for( ; i ; )
{
printf("In for Loop");
}
getch();
}
Run Code Online (Sandbox Code Playgroud)
输出:没有打印.
代码执行,但printf语句由于条件没有打印.好的,这里没问题.
但是当我写这段代码时:
#include<conio.h>
#include<stdio.h>
main()
{
for( ; 0 ; )
{
printf("In for Loop");
}
getch();
}
Run Code Online (Sandbox Code Playgroud)
输出:输入循环.
我的for循环执行了一次,但实际上它一定不能被执行.我不知道为什么?stackoverflow的编码器/程序员/黑客可以帮助我.请解释一下,为什么我的for循环只给出一次这个输出.
Mar*_*k B 12
你写的东西不应该打印任何东西,但我怀疑导致问题的实际二例代码(不是你输入的代码)是:
for( ; 0 ; ); // <==== note the trailing semicolon there.
{
printf("In for Loop");
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,for循环不执行空语句,然后{ }代码执行一次.
编辑:如果这不是问题,请将一个完整的程序直接粘贴到您的问题中.
EDIT2:
以下最小的可编译示例不会打印任何内容:
#include <cstdio>
int main()
{
for( ; 0 ; )
{
std::printf("In for Loop");
}
}
Run Code Online (Sandbox Code Playgroud)