想不明白“*”的輸出
#include <stdio.h>
int main()
{
??? int i, j, k;
??? for(i=1; i<5; i++)
??? {
??????? /* 觀察每行的空格數(shù)量,補(bǔ)全循環(huán)條件 */
??????? for(j=i;j<5;j++)?
??????? {
??????????? printf(" ");??? //輸出空格
??????? }
??????? /* 觀察每行*號(hào)的數(shù)量,補(bǔ)全循環(huán)條件 */
??????? for(k=0;k<2*i-1;k++)
??????? {
??????????? printf("*");?? //每行輸出的*號(hào)
??????? }
??????? printf("\n");???? //每次循環(huán)換行
??? }
??? return 0;
}
第二個(gè)子循環(huán)for(k=0;k<2*i-1;k++),因?yàn)閕=2,k<3,那他不是循環(huán)兩次嘛,為什么第一行只有一個(gè)*
2020-06-07
這里i=1;
for語(yǔ)句表示為:for(A; B; C))
執(zhí)行順序?yàn)椋?br />
1. 執(zhí)行A
2. 判斷B,若為真進(jìn)入循環(huán),若為假跳過(guò)(跳出)循環(huán)
3. 進(jìn)行完一次循環(huán)后,執(zhí)行C
4. 重復(fù)2、3步,直到判斷B為假后,跳出循環(huán)