作者q172357ma ( )
站内TransCSI
标题Re: [问题] C语言回圈问题
时间Mon Jul 16 00:28:50 2007
※ 引述《hkjluy18 (阿LAN)》之铭言:
: 我有点搞不清楚双回圈的算法
: 例:
: for(i=1,i=<4,i++)
"逗号" → "分号"
=< → <=
: {
: for(j=1,j<i,j++)
"分号"
: printf("*")
结尾要加上"分号"
: printf("\n")
结尾要加上"分号"
: }
: return 0
: }
: 我希望了解程式跑的步骤!!!
: 可能有些错误...错的话指正一下
: 谢谢各位相助!!
正确版:
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 4; i++)
{
for (j = 1; j < i; j++)
printf("*");
printf("\n");
}
}
流程:
第一次进入外层for回圈 i = 1
j >= i 不进入内层回圈
印出 \n
i++
第二次进入外层for回圈 i = 2
第一次进入内层for回圈 j = 1
印出 *
j++
j >= i 结束内层回圈
印出 \n
i++
第三次进入外层for回圈 i = 3
第一次进入内层for回圈 j = 1
印出 *
j++
第二次进入内层for回圈 j = 2
印出 *
j++
j >= i 结束内层回圈
印出 \n
i++
第三次进入外层for回圈 i = 3
第一次进入内层for回圈 j = 1
印出 *
j++
第二次进入内层for回圈 j = 2
印出 *
j++
第三次进入内层for回圈 j = 3
印出 *
j++
j >= i 结束内层回圈
印出 \n
输出:
-----
*
**
***
-----
大概是这样
有错误请指正 thx
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.57.132.241
1F:推 chingking:阿..第一次i=j=1不会进入回圈印出*吧 07/16 00:35
2F:推 q172357ma:正想修改你就推文了 XD 07/16 00:38
3F:→ chingking:因为我刚好同时也发文啦XD 07/16 00:38
※ 编辑: q172357ma 来自: 61.57.132.241 (07/16 00:42)
4F:推 q172357ma:修正罗~! 谢谢提醒指正!! 07/16 00:48