궁금해서 물어봅니다!!
초코우유
제가 C언어를 하는데요 이거 두개가 왜 다른지 가르켜주세요(참고로 맞는것은 위에것입니다.)
이게 원문이고
#include stdio.h
int main(void)
{
int A, Z;
int result;
for(A=0; A10; A++)
{
for(Z=0; Z10; Z++)
{
if(A==Z)
continue;
result=(A*10+Z)+(Z*10+A);
if(reslut==99)
printf(%d%d+%d%d \n, A, Z, A, Z, result);
}
}
return 0;
}}
이게 다른것입니다
#include stdio.h
int main(void)
{
int A, Z;
int result=99;
for(A=0; A10; A++)
{
for(Z=0; Z10; Z++)
{
if(result!=(A*10+Z)+(Z*10+A))
continue;
printf(%d%d+%d%d=%d \n, A, Z, A, Z, result);
}
}
return 0;
}
-
소미
대입은 안되서
result는 그대로 99입니다
!= 는 관계연산자로
조건이 참이면 (99 != 11) 1
조건이 거짓이면 (99 != 99) 0
을 반환합니다 -
미라
if(result!=(A*10+Z)+(Z*10+A))
continue;
이것의 의미는 (A*10+Z) + (Z*10+A)를 result에 넣고
result가 0이아닐경우 continue 한다는 소리입니다. -
헛매질
위에랑 아래랑 결과는 같게 나올거같은데
위에는 for문 도는 동안 각각의 상황에서의 result 값을 구합니다
그리고 99 인 것만 출력을 하죠
아래거는 처음에 result 값이 정해져 있습니다.
그리고 for문 돌면서 99가 아닌 것은 continue 를 하고
99 이면 출력을 합니다 -
혜린
printf(\%d%d+%d%d \\n\
-
이든샘
밑에꺼는 A와 Z가 같을경우를 체크안했어요
-
슬찬
디버깅해보세용ㅎ