看不懂,可以解釋一下嗎
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數量,補全循環條件 */
? ? ? ? for(j=i? ? ?;j<5? ?;j++? ? )??
? ? ? ? {
? ? ? ? ? ? printf(" ");? ? //輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數量,補全循環條件 */
? ? ? ? for(k=0? ;k<2*i-1? ?;k++? ? ? ?)?
? ? ? ? {
? ? ? ? ? ? printf("*");? ?//每行輸出的*號
? ? ? ? }
? ? ? ? printf("\n");? ? ?//每次循環換行
? ? }
? ? return 0;
}
? 看不懂
2020-02-07
333 ??
2019-12-02
我之前也看不懂,后來自己算一遍就整明白了。你找一張草紙,自己手動模擬計算過程。
我的草紙內容和思路:(我的個人理解嗷,不是多正規,但至少說通了)
i代表的第幾行,每一個J是一個空格,每一個K是一個*
這個結構是i是父循環,J和K平行,都是子循環
首先是大條件i=1,i<5,i++
然后開始執行子循環,子循環一直進行,直到受限制再進行下一輪父循環
第一輪子循環:j=i=1,j<5,j++ ? ? 就一直執行這個嘛? j就等于1,有一個J了,就輸出一個空格,然后循環,J=2,在輸出一個空格,然后J=3,J=4,一共輸出了四個空格,1234我理解為每一個數字都標志著有一個J了,每一個J就是一個空格,然后就是四個空格。
J到5了不行了,所以J的子循環結束,開始K的那個子循環。
K=0,k<1,k++,然后k=1了,然后也只能到1了。就輸出一個*
第二個子循環結束,第一行結果為”口口口口*“
開始換行執行下一個父循環
于是第二行的是口口口***
第三行 ? ? ? ? ? ?? 口口*****
第四行 ? ? ? ? ? ?? 口*******
解釋完了,不知道你整明白沒。。。。