用for語句實現C語言的圖形

以上代碼實現:

i為行,j為空格,k為*號。
我覺得應該是k+=2 (第11行),因為每行加2。j的初始值為3,因為第一行是3,然后大于0,每一行減1,所以j--,但是錯誤,圖上是j++,為何?
我的代碼是:
#include?<stdio.h>
int?main()
{
????int?i,?j,?k;
????for(i=1;?i<5;?i++)
????{
??????
????????for(j=3;j>0;j--)??
????????{
????????????printf("?");????//輸出空格
????????}
??????
????????for(k=1;k<2*i-1;k+=2)?
????????{
????????????printf("*");???//每行輸出的*號
????????}
????????printf("\n");?????//每次循環換行
????}
????return?0;
}求解釋。
2015-08-22
你仔細閱讀此程序代碼,j的循環每次都是輸出三個空格
i=1:ooo(三個空格),此時k<1,所以只輸出一個*
i=2:ooo(三個空格),此時k<3,所以有兩個*
i=3:ooo(三個空格),此時k<5,所以有三個*
是否明白了?
2015-09-10
為什么星號會在空格中間啊