不是很懂這個程序,請問有大佬路過給我講解一下么?
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");???? //每次循環換行
??? }
2018-01-26
*****代碼一共兩層循環,第一層控制行數,第二層控制輸出。
第一層循環是控制行數,如當i=1,就是進入第一行進行輸出。
*****進入第一層循環后,開始第二層循環。
首先是輸出空格,每行空格數遞減,第一行需要4個空格,第二行需要3個空格,以此類推,所以令j=i,隨著i的遞增,空格循環次數減小。
當空格輸出完畢,則開始輸出*,當i=1,k的值為1,由于k初值為0,所以會循環1次,也就是輸出1個*,到這里*循環結束,跳出for循環,再執行"\n"換行。
到這里i=1的循環結束,然后開始i=2的循環。
*****不知道看不看得懂啊。。。。。。