我正在学习用C编程,我正在做一个练习,需要我编写一个程序来打印Isosceles三角形.
#include <stdio.h>
int main()
{
int col, row;
for(col = 0; col < 6; col++)
{
for(row = 0; row <= col; row++)
{
putchar('*');
putchar('\n');
}
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在一行上打印(*)21次.因此,经过几分钟的反复试验后,我删除了内部for循环的内括号.
#include <stdio.h>
int main()
{
int col, row;
for(col = 0; col < 6; col++)
{
for(row = 0; row <= col; row++)
putchar('*');
putchar('\n');
}
}
Run Code Online (Sandbox Code Playgroud)
我终于实现了我想要的结果.
我的问题是:内部for for循环的内括号{}如何影响结果的打印方式?为什么第一组代码在一行上打印*也是21次?
我仔细查看了整本书,无法找到合理的解决方案来解决为什么内部for循环上的{}影响输出.
您的工作解决方案相当于
for(col = 0; col < 6; col++)
{
for(row = 0; row <= col; row++)
{
putchar('*');
}
putchar('\n');
}
Run Code Online (Sandbox Code Playgroud)
在C中,缩进与语句分组无关.大括号组声明在一起.在原始的,无法工作的代码中,内部循环后面的大括号使大括号内的所有代码都运行每个循环迭代.在上面的示例中,您可以看到大括号仅包含for循环的每次迭代运行的相应表达式.
正如其他人可能会注意到的那样:缩进并不告诉编译器要做什么,但是你应该缩进以便在视觉上你可以解释你的代码.
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |