【发布时间】:2015-10-17 23:05:32
【问题描述】:
**** *** ** *
/*code for this pattern*/
#include<stdio.h>
int main()
{
int i, j;
for (i = 4 ; i >= 1 ; --i) {
for (j = 1 ; j <= i; ++j) { /*why does j<=i?*/
printf("*");
}
printf("\n");
}
}
那么为什么j <= i?第一个 for 循环负责行。而第二个 for 循环负责每行中的星数。同样,i 不理解条件的逻辑-j <= i。
编辑:C 是我尝试过真正学习的第一门语言。这个问题很清楚,我想。我不明白 for 循环的条件组件。就这样。不过,有些人明白我在问什么。谢谢
EDIT2:似乎我对我的问题不清楚。我想知道为什么 j 必须小于或等于 i。为什么我可以小于或等于 j?我无法看到 i(行数)和 j(每行中的星数)之间的关系。
谢谢
【问题讨论】:
-
您的问题不清楚。你想做什么 ?学习 C ?还是解决实际问题?
-
使用调试器或铅笔和纸,看看发生了什么。
-
你是什么意思,“为什么 j
-
您有什么特别不明白的地方?很高兴您有一个非常简短的示例,但我不知道该说什么,除了“这是创建运行
i次的循环的方法之一” -
在第一个
i循环中,i==4所以j循环将打印 4 颗星。在第二个i循环中,i==3所以j循环将打印 3 颗星,依此类推。