C語言運算順序?
#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;
}
根據(jù)從上往下的順序 ?輸出的不是 ?一個空格和一個 *么 ? ? 怎么第一行是四個空格 ? 不懂 ? 求大神指點
2016-03-08
因為第一for循環(huán)是父循環(huán), 第2個for循環(huán)是子循環(huán), 父循環(huán)執(zhí)行一次,子循環(huán)要全部執(zhí)行完,相當于第2個for循環(huán)要執(zhí)行4次,因為j<5,即 j<=4。
2016-01-25
它是先執(zhí)行外面的for循環(huán),i=1時,就是第一行,然后執(zhí)行
for(j=i;j<5;j++) ?
? ? ? ? {
? ? ? ? ? ? printf(" "); ? ?//輸出空格
? ? ? ? }
就是在第一行中,j=1<5,就輸出一個空格,j繼續(xù)增大,一直到j=4,也就是輸出了4個空格