作者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