inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học ngôn ngữ C thông qua các vấn đề

Tìm giá trị nhỏ nhất

24. 최솟값 구하기

334

ksangyun04

3 câu hỏi đã được viết

0

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가 자동으로 띄어쓰기를 고려하여 입력 값을 처리하는 이유가 무엇인가요??

c

Câu trả lời 1

0

codingcamp

안녕하세요^^

scanf 함수 자체가 숫자를 입력받을 때 뛰어쓰기 또는 줄바꿈기호를 구분자로 해서 입력값을 구분해서 읽도록 만들어진 함수입니다. 그래서 scanf("%d", &a)와 같이 해야지 scanf("%d ", &a)와 같이 %d뒤를 띄어쓰기 하면 입력값을 읽어내지 못합니다.

음료수 자판기 출력이 이상하게 나옵니다

0

145

2

i 값 초기화 질문

0

73

2

recipe for targe 'AA.exe' failed

0

65

1

30과 10의 xor

0

196

1

커리큘럼 문의 드립니다

0

234

1

for문에서 sum 관련 질문

0

182

1

이렇게 풀어도 맞는걸까요?

0

257

2

이렇게 풀어도 맞는 풀이일까요?

0

304

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

259

1

질문 있습니다.

0

328

1

배열을 전역변수로 설정하는 이유

1

668

1

41. A를 #으로에서 질문 있습니다.

0

292

1

20번 소수 판별하기에서 질문 있습니다.

0

426

1

42번 bus error;;;

0

613

1

정수형 배열에서 배열 크기

0

396

1

38. 자리찾기 커지는 방향으로..

0

305

1

37. 배열의 회전에서 ...

0

282

1

1차원 배열에서

0

274

1

지수연산에서

0

301

1

7.연필 개수 문제

0

382

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

847

1

섹션 6. 소수

0

324

1

왜 2중for문을 두개 쓴건가요?

0

247

1

일곱난쟁이. 1차배열 질문

0

270

1