C语言 “怎么输出100?”

yeotifhr  于 2022-12-03  发布在  其他
关注(0)|答案(2)|浏览(194)
for(x=0; x<100; x++);
 printf(“%d”,x);

为什么它给出100
(i)识别此程序段中的错误(ii)编写此程序段的正确版本
我试过了

for(x=0; x<100; x++){
 printf(“%d”,x);}

他可以看到0到100的所有数字,但

for(x=0; x<100; x++);
 printf(“%d”,x);

我只能看到100个为什么?我不知道原因

laximzn5

laximzn51#

我只能看到100个为什么?我不知道原因
因为分号会结束陈述式。
为了更好地理解所发生的事情,请正确地设置代码的格式。(最好是使用IDE来为您设置代码的格式。并且***不要将字处理器用作IDE***。代码中那些花哨的引号是语法错误。)原始代码如下所示:

for(x=0; x<100; x++);
printf("%d",x);

两个语句,彼此无关。第一个语句本身是一个循环,没有循环体。它重复100次,成功地什么都不做。第二个语句输出一个值。将它与正确的代码进行比较:

for(x=0; x<100; x++) {
  printf("%d",x);
}

现在你得到的是一个循环,循环体包含一条语句,该语句执行100次,每次输出一个值。
一致地、有意义地格式化代码以提高可读性并不是为了帮助编译器,而是为了帮助你。保持代码的可读性,你作为一个人,将能够更好地阅读和理解它。

dgiusagp

dgiusagp2#

for(x=0; x<100; x++); printf(“%d”,x);

在for循环和print之间有一个分号,所以print不在循环中。
x将从0计数到100。空循环完成后,将打印最后一个值(100)。

相关问题