๐ชด ๊ธ์์ผ TIL๐ชด
โ๏ธ C์ธ์ด์ scanf ์ค๋ฅ์ ๋ฒํผ
์๋์ c์ธ์ด ์ฝ๋๋ ํ๋ก๊ทธ๋๋จธ์ ์๊ฐ๋๋ก ๋์ํ์ง ์๋๋ค. ์์ผ๊น? scanf ํจ์๋ ๊ฐ์ ๋ฐ์ผ๋ฉด ๋ฒํผ๋ผ๊ณ ํ๋ ๊ณณ์ ๊ฐ์ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ํค๋ณด๋์ ์ ๋ ฅ์ ๋ด๋นํ๋ ๋ฒํผ๋ stdin(์ ๋ ฅ์คํธ๋ฆผ)์ด๋ค. ํค๋ณด๋๋ก ๊ฐ์ ์ ๋ ฅํ๋ฉด ๊ทธ ๊ฐ์ ๋ชจ๋ ์ ๋ ฅ์คํธ๋ฆผ์ ์ผ์์ ์ผ๋ก ์ ์ฅ๋๋ค๊ฐ ์ ๋ ฅ์ด ์ข ๋ฃ๋๋ฉด ํ๊บผ๋ฒ์ ์ฒ๋ฆฌ๋๋ค. ํค๋ณด๋์ ์ ๋ ฅ์ ์ํฐ๋ก ์ข ๋ฃํ๋๋ฐ ์ํฐ๋ ๊ฐํ๋ฌธ์ '\n'์ผ๋ก ํ์ํ ์ ์๋ค.
์ฌ๊ธฐ์ ์ปดํจํฐ๊ฐ ๋ฒํผ์ ๊ฐํ๋ฌธ์๊น์ง ์ง์ด๋ฃ๊ธฐ๋๋ฌธ์ ์๋ ์ฝ๋๊ฐ ์ ๋๋ก ๋์ํ์ง ์๋ ๊ฒ์ด๋ค. ์๋ ์ฝ๋์ ์ซ์๋ฅผ ์ ๋ ฅํ๋ฉด ๋ฒํผ์ '์ซ์\n'์ด ๋ค์ด๊ฐ๋ค. scanf๋ %d๋ก ์ซ์๋ง ๊ฐ์ ธ์ค๋๋ฐ ๊ณต๋ฐฑ๋ฌธ์(' ','\n','\t')๋ฅผ ๋ง๋๊ธฐ ์ ์ ์ซ์๋ง ๊ฐ์ ธ์ค๊ณ ๊ทธ ์ซ์๋ฅผ ๋ฒํผ์์ ์ง์๋ฒ๋ฆฐ๋ค. ๊ทธ๋์ ๋ฒํผ์ '\n'์ด ๋จ๊ณ ๊ทธ ์ํ๋ก ์ ๋ ฅ์ ๋ฐ๊ธฐ์ %c๋ก๋ ์๋ฌด๊ฒ๋ ์ถ๋ ฅํ์ง ๋ชปํ๊ณ ์ข ๋ฃํ๋ค.
#include <stdio.h>
int main() {
int num;
char c;
printf("์ซ์๋ฅผ ์
๋ ฅํ์ธ์ : ");
scanf("%d", &num);
printf("๋ฌธ์๋ฅผ ์
๋ ฅํ์ธ์ : ");
scanf("%c", &c);
return 0;
}
scanf์ %c๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ถ์ฅํ์ง ์๋๋ค. ์์ ์ fflush(stdin)์ ์ค๊ฐ์ ์ฌ์ฉํด์ ๋ฒํผ๋ฅผ ๋น์ธ์ ์์์ง๋ง fflush๋ ์๋ ์ ๋ ฅ ๋ฒํผ๊ฐ ์๋ ์ถ๋ ฅ ๋ฒํผ๋ฅผ ๋น์ฐ๋ ํจ์์ด๋ค. ๊ทธ๋์ ์ ๋ ฅ๋ฒํผ์ธ stdin์์ ์ฐ์ง ์์์ผ ํ๋ค. ๋ฒํผ์ ๊ฐํ๋ฌธ์๋ง ๋จ์์๋๋ getchar()๋ฅผ ์ด์ฉํด์ ๋ฒํผ์์ ์ ๊ฑฐํ ์ ์๋ค. ๋, scanf(" %c", &c);์ฒ๋ผ %c์์ ๊ณต๋ฐฑ์ ํ๋ ๋ฃ์ด์ ๋ฒํผ์ ์๋ ๊ณต๋ฐฑ๋ฌธ์๋ฅผ ๋ฌด์ํ ์๋ ์๋ค.
์ฌ๋ฌ ๋ฌธ์๊ฐ ๋จ์์๋ ๋ฒํผ๋ฅผ ๋น์ฐ๊ณ ์ถ๋ค๋ฉด ๊ฐํ๋ฌธ์๊ฐ ๋์ฌ ๋ ๊น์ง getcharํจ์๋ฅผ ๋ฐ๋ณตํ๋ฉด ๋๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
https://int-i.github.io/c/2020-04-26/fflush-stdin/
โ๏ธ
โ๏ธ
๐์ค๋ ํ ์ผ๐
๐ธ ์ฝ๋ฉ ํ ์คํธ๋ณด๊ธฐ
๋ฉฐ์น ๊ฐ ์ด์ฌํ ์ค๋นํ๋๋ฐ ์ญ์ ๋ค ํ์ง ๋ชปํ๋ค. ์ฝํ ๋ ๊พธ์คํจ์ด ์๋ช ์ธ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ๋์ด๋๊ฐ ์์ฒญ ์ด๋ ต์ง๋ ์์์ ์ ๋ฐ์ ๋๊ฒ ํ์๋ค. ๋ชปํผ ๋ฌธ์ ๋ ๋ด๊ฐ ์ ๋ชป์ฐ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ ๋ฌธ์ ์๋ค. ์์ผ๋ก๋ ๊ทธ๊ฑธ ์ง์ค ๊ณต๋ตํด์ผ์ง.
๐ธ ์์ ๊ฐ๊ธฐ
์ผ์ด ์์ด์ ๋๊ฐ๋ค๊ฐ ์ค๊ณ ์์ ์ ๋ค๋ ๋ค. ์ฌ๊ณ ์ถ์ ์ฑ ์ด ๊ฝค ๋ง์์ง๋ง ๊พน ์ฐธ๊ณ ํ๊ถ๋ง ๊ณจ๋ผ์๋ค. ๋ณด๊ฑด๊ต์ฌ ์์์์ ์๋๋ฐ, ์ฌ์ค ์ฝ์ ์ฑ ์ด๋ค. ๊ทผ๋ฐ ๋๋ฌด ๊ฐ๊ณ ์ถ์ด์ ๊ฒฐ๊ตญ ์ด ์ฑ ์ ์๋ค. ์์ฆ์ ์ฑ ์ ์ธํฐ๋ท์ผ๋ก ์ฌ์ ์ ๋ชฐ๋๋๋ฐ ์คํ๋ผ์ธ ์์ ์์ ๊ตญ๋ฏผ์ง์๊ธ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๋จ์ ๋์ ์ด๋์ ์ธ๊น ํ๋๋ฐ ์ฑ ์ฌ๋๋ฐ ๋ค ์ธ ๊ฒ ๊ฐ๋ค ใ ใ
๐ค๋ด์ผ ๋ค์ง๐ค
๐ ํฌ๋ก์ฝ๋ฉ ์๊ณ ๋ฆฌ์ฆ ์ฑ ์ผ๋ก ๊ฐ๋ ์ตํ๊ธฐ!
๐ ์ธ์ถํ๊ธฐ ์ ์ ์ฑ ์ ์ ๋ฆฌํ๊ธฐ
'๊ฐ๋ฐ > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Xcode] C++์ฌ์ฉ ์ <bits/stdc++.h> header not found ์ค๋ฅ (0) | 2022.03.05 |
---|---|
#211007 (0) | 2021.10.08 |
#210930 (0) | 2021.10.01 |
#210917 (0) | 2021.09.18 |
#210916 TIL (0) | 2021.09.17 |