작성
·
181
0
#include <stdio.h>
int main(){
int a, b, c, d, e, f, g, i=0;
scanf("%d %d %d %d %d %d %d", a, b, c, d, e, f, g);
while(1){
i++;
if(i==a) i=a;
if(i==b) i=b;
if(i==c) i=c;
if(i==d) i=d;
if(i==e) i=e;
if(i==f) i=f;
if(i==g) i=g;
break;
}
printf("%d", i);
return 0;
}
이 코드는 왜 안되나요?
답변 2
1
1. scanf는 변수앞에 주소연산자 &를 붙여야 합니다.
2. while문 안에서 제일 아래 break를 하면 while문이 바로 멈춥니다.
원래 짤려고 했던 코드가 아래와 같은 코드가 아닌가 싶네요. 분석해 보세요.
#include <stdio.h>
int main(){
int a, b, c, d, e, f, g, i=0, flag=0;
scanf("%d %d %d %d %d %d %d", &a, &b, &c, &d, &e, &f, &g);
while(1){
i++;
if(i==a) flag=1;
if(i==b) flag=1;
if(i==c) flag=1;
if(i==d) flag=1;
if(i==e) flag=1;
if(i==f) flag=1;
if(i==g) flag=1;
if(flag==1){
printf("%d", i);
break;
}
}
return 0;
}
0