#include <stdio.h>
#include <stdlib.h>
int main() {
int i ;
int j ;
for(i=1; i<4;i++)
for(j=1;j<3;j++)
printf("%d",i+j);
}
該代碼從i = 1
開始執行三次外循環。它進入內部循環並從j = 1
開始運行兩次。然後它爲第一個循環打印2,3
,爲第二個循環打印3,4
,爲第三個循環打印4,5
。
爲了清楚起見,我添加了逗號,並顯示內循環確實運行了兩次,但實際輸出爲233445
,因爲您沒有添加任何分隔符或換行符。
如果您爲使用循環輸出要7
,嘗試:
#include <stdio.h>
#include <stdlib.h>
int main() {
int i ;
int j ;
for(i=4; i<5;i++) { // this brace means it contains the inner loop.
for(j=3;j<4;j++) { // this inner brace means it contains control of the statement.
printf("%d",i+j); // and always remember to indent for your readers
} // close the inner brace!
} // close the outer brace!
} // close main brace
或者,你可以嘗試增加使用循環的數量,然後打印出來的循環外,如其他人所說:
#include <stdio.h>
#include <stdlib.h>
int main() {
int i ;
int j ;
for(i=1; i<4;i++) { // this brace means it contains the inner loop.
for(j=1;j<3;j++) { // this inner brace means it contains control of the statement.
} // close the inner brace!
} // close the outer brace!
printf("%d",i+j); // 7
} // close main brace
「爲什麼當'printf'語句在循環中時我不會得到7?」因爲'i <4'和'j <3',所以'i + j <4 + 3'並且它意味着'i + j <7',所以'i + j'在循環內不會是'7' 。 – MikeCAT
i和j在循環之前的值爲1 –