C語言運算順序?
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數量,補全循環條件 */
? ? ? ? for(j=i;j<5;j++) ?
? ? ? ? {
? ? ? ? ? ? printf(" "); ? ?//輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數量,補全循環條件 */
? ? ? ? for(k=0;k<2*i-1;k++)?
? ? ? ? {
? ? ? ? ? ? printf("*"); ? //每行輸出的*號
? ? ? ? }
? ? ? ? printf("\n"); ? ? //每次循環換行
? ? }
? ? return 0;
}
根據從上往下的順序 ?輸出的不是 ?一個空格和一個 *么 ? ? 怎么第一行是四個空格 ? 不懂 ? 求大神指點
2016-03-08
因為第一for循環是父循環, 第2個for循環是子循環, 父循環執行一次,子循環要全部執行完,相當于第2個for循環要執行4次,因為j<5,即 j<=4。
2016-01-25
它是先執行外面的for循環,i=1時,就是第一行,然后執行
for(j=i;j<5;j++) ?
? ? ? ? {
? ? ? ? ? ? printf(" "); ? ?//輸出空格
? ? ? ? }
就是在第一行中,j=1<5,就輸出一個空格,j繼續增大,一直到j=4,也就是輸出了4個空格