【发布时间】:2016-11-01 03:46:54
【问题描述】:
我是 C 编程的初学者(刚开始),我需要你的帮助来理解这个非常简单的代码的输出:
int main()
{
int x=1;
for (;x<=10;x++);
printf("%d\n",x);
return 0;
}
输出是: 11
如果 x 值为
计算机是如何理解这段代码的?
【问题讨论】:
-
"计算机是如何理解这段代码的?" - 他可能读过一本 C 的书……不如仿照它的例子?
-
我的 2 美分...这很少是使用循环的方式。
for循环除了增加x之外什么都不做,因为它是尾随分号;。通常你想将循环体包装在{...}中,并根据循环控制变量(在本例中为x)在循环体中实际做一些事情。这个循环实际上所做的就是插入一个(非常小的)时间延迟。事实上,编译器优化可能会完全省略循环并将x设置为 11。 -
@MichaelAlbers 这怎么是重复的?您链接的问题是关于理解混淆代码。虽然这个问题是关于询问完全基本的事情是如何运作的。