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