C語言的多重循環(huán)
#include?<stdio.h> int?main() { ????int?i,?j,?k; ????for(i=1;?i<5;?i++) ????{ ????????/*?觀察每行的空格數(shù)量,補全循環(huán)條件?*/ ????????for(j=i;j<5;j++)?? ????????{ ????????????printf("?");????//輸出空格 ????????} ????????/*?觀察每行*號的數(shù)量,補全循環(huán)條件?*/ ????????for(k=0;k<2*i-1;k++)? ????????{ ????????????printf("*");???//每行輸出的*號 ????????} ????????printf("\n");?????//每次循環(huán)換行 ????} ????return?0; }
請問為何第一行只有3個空格,(j=i; j<5; ,j++)第二層不是應該循環(huán)4次嗎?
2016-06-14
因為如果你選中運行出來的結果之后會發(fā)現(xiàn)最后一行前面也是有一個空格的,也就是說,第一行前面有4空格,第二行3個空格,第三行2個空格,第四行前1個空格
2016-06-14
因為第一行的k只能取0,1,兩次,而j原本要從1循環(huán)到5,但減去k的兩次,所以j只能到3就結束了