인프런 커뮤니티 질문&답변

임규범님의 프로필 이미지
임규범

작성한 질문수

문제로 배우는 C언어

최소값 구하기

24. 최솟값 구하기

작성

·

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

임규범님의 프로필 이미지
임규범
질문자

감사합니다 또 궁금증이풀렸습니다

임규범님의 프로필 이미지
임규범

작성한 질문수

질문하기