24. 최솟값 구하기
332
3 asked
int main(){
int i, min= 21470000, a;
for(i=1; i<=7; i++){
scanf("%d", &a);
if (a < min)
min = a;
}
printf("%d", min);
return 0;
}
사용자가 입력 값을 5 3 7 11 2 15 17 와 같이 띄어쓰기가 포함된 입력 값을 입력하는데, 짜여진 코드에서는 띄어쓰기를 고려한 부분이 없는 것 같습니다.
이 부분에서 궁금한 점이 있는데, scanf("%d ", &a) 와 같이 d 다음에 띄어쓰기를 포함하지 않고 스캔을 받더라도 OS가 자동으로 띄어쓰기를 고려하여 입력 값을 처리하는 이유가 무엇인가요??
Answer 1
0
안녕하세요^^
scanf 함수 자체가 숫자를 입력받을 때 뛰어쓰기 또는 줄바꿈기호를 구분자로 해서 입력값을 구분해서 읽도록 만들어진 함수입니다. 그래서 scanf("%d", &a)와 같이 해야지 scanf("%d ", &a)와 같이 %d뒤를 띄어쓰기 하면 입력값을 읽어내지 못합니다.
음료수 자판기 출력이 이상하게 나옵니다
0
140
2
i 값 초기화 질문
0
70
2
recipe for targe 'AA.exe' failed
0
62
1
30과 10의 xor
0
190
1
커리큘럼 문의 드립니다
0
232
1
for문에서 sum 관련 질문
0
179
1
이렇게 풀어도 맞는걸까요?
0
253
2
이렇게 풀어도 맞는 풀이일까요?
0
302
1
20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?
0
257
1
질문 있습니다.
0
324
1
배열을 전역변수로 설정하는 이유
1
665
1
41. A를 #으로에서 질문 있습니다.
0
291
1
20번 소수 판별하기에서 질문 있습니다.
0
422
1
42번 bus error;;;
0
612
1
정수형 배열에서 배열 크기
0
395
1
38. 자리찾기 커지는 방향으로..
0
303
1
37. 배열의 회전에서 ...
0
280
1
1차원 배열에서
0
270
1
지수연산에서
0
300
1
7.연필 개수 문제
0
378
1
a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요
0
844
1
섹션 6. 소수
0
320
1
왜 2중for문을 두개 쓴건가요?
0
238
1
일곱난쟁이. 1차배열 질문
0
265
1

