理解C中的简单For循环代码

理解C中的简单For循环代码,c,for-loop,C,For Loop,我是C编程的初学者(刚刚开始),我需要您的帮助来理解这段非常简单的代码的输出: int main() { int x=1; for (;x<=10;x++); printf("%d\n",x); return 0; } intmain() { int x=1; 对于(;xSo intmain() { int x=1;//第1行 对于(;x=11,这一行基本上被跳过,因为x已经大于10 第3行将x打印到命令行(在这种情况下,如果x开始小于11,则x=11;如果x开

我是C编程的初学者(刚刚开始),我需要您的帮助来理解这段非常简单的代码的输出:

int main()
{
   int x=1;
   for (;x<=10;x++);
   printf("%d\n",x);
    return 0;
}
intmain()
{
int x=1;
对于(;xSo

intmain()
{
int x=1;//第1行
对于(;x=11,这一行基本上被跳过,因为x已经大于10

第3行将x打印到命令行(在这种情况下,如果x开始小于11,则x=11;如果x开始于>=11,则由于上一行的原因,仅为x)

第4行表示程序成功,请退出程序。

对于以下内容:

for(*init expr*;*测试expr*;*更新expr*)
*主体陈述*
或者,通常可以这样描述:

*init expr*;
而(*测试表达式*){
*主体陈述*
*更新expr*;
}

for语句后面跟一个分号,其中body语句是。因此,它是一个“null语句”,只需循环并更新x,当循环完成后,只需在循环后打印x,因此,输出为11。

可能重复“计算机如何理解此代码?”-他可能读过一本C语言的书…按照它的例子来做怎么样?我的2美分…这很少是循环的使用方式。
for
循环除了递增
x
之外什么都不做,因为它后面有分号
。通常你想把循环体包装在
{…}
并根据循环控制变量(在本例中为x
)在体内实际执行某些操作。此循环有效执行的所有操作都是插入一个(非常小)时间延迟。事实上,编译器优化可能会完全忽略循环,并将
x
设置为11。@MichaelLBERS这怎么是重复的?你链接的问题是关于理解模糊的代码。而这个问题是关于问基本的事情是如何工作的。你认为应该解释第3s行分号和分号是什么t情况是否使
x=1;
使
x
以大于11的值开始?它从来没有这样做,但是他问为什么当x被初始化>=11时行为会改变
int main()
{
   int x=1;           // line 1
   for (;x<=10;x++);  // line 2
   printf("%d\n",x);  // line 3
   return 0;          // line 4
}