#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
«Почему я не получаю 7, когда инструкция' printf' находится внутри цикла? " Потому что 'i <4' и' j <3', поэтому 'i + j <4 + 3', и это означает' i + j <7', поэтому 'i + j' не будет' 7' внутри цикла , – MikeCAT
i и j имеют значение 1 до цикла –