강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

rb273953465 のプロフィール画像
rb273953465

投稿した質問数

問題で学ぶC言語

最小値を求める

24. 최솟값 구하기

作成

·

237

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;
}
	

이 코드는 왜 안되나요?

c

回答 2

1

codingcamp님의 프로필 이미지
codingcamp
インストラクター

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

rb273953465님의 프로필 이미지
rb273953465
質問者

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

rb273953465 のプロフィール画像
rb273953465

投稿した質問数

質問する