for문 이해가 잘 안가요
늘빈
2023.04.01
제가 지금 만들어야하는게ab+ba=99 에서 a와b값을 구하는건데요#includestdio.hint main()
{
int a=1,b=1,c;
for(;a10;a++)
{
for(;b10;b++)
{
if(a==b)
continue;
c=(10*a+b)+(10*b+a);
if(c==99)
printf(%d \t %d\n,a,b);
}
}
return 0;
}이렇게 하면은 (1 8)만출력되고요#includestdio.hint main()
{
int a,b,c;
for(a=1;a10;a++)
{
for(b=1;b10;b++)
{
if(a==b)
continue;
c=(10*a+b)+(10*b+a);
if(c==99)
printf(%d \t %d\n,a,b);
}
}
return 0;
}이렇게하면여러개나오는데 왜그런건가요.?
-
시아
아하! 감사합니다
-
꽃겨울
즉, 처음쓰신것의 b는 1로 초기화 되지 않습니다.
-
헤벌심
음 그러니까요. a=1즉 초기화가 for문 조건안에 있으면 그 조건이 만족 할때 동안 a를 굴리지만 이처럼
위에다가 초기값을 시켜주시면 a=1로 계속 초기화 됩니다. 그러나 왜 b는 초기 화 되지 않고 있냐고요?
b는 a의 한번이 다 돌아가고 난후 초기화가 됩니다. 이중포문이니까요.