๋ฐํ๊ฐ์ด ๋ฌด์๋์์ต๋๋ค scanf ์ค๋ฅ ํด๊ฒฐ๋ฐฉ๋ฒ
C์ธ์ด์์ scanf๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ๋ฐ์๋ ๊ฐ์ด ๋ฌด์๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ, ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์๋ณด์.
#include <stdio.h>
//์๋ ์ฝ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
int main(void)
{
char var;
printf("๊ฐ์ ์
๋ ฅ ํด ์ฃผ์ธ์: ");
scanf_s("%c", &var);
printf("๊ฐ์ %c ์
๋๋ค.", var);
}
์ด๋ฐ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด๋ฌํ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋ฌด์๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์์ธ
์ฐ๋ฆฌ๊ฐ ๊ฐ์ ์ ๋ ฅํ๊ณ ๋์ ๋ฌด์์ ์ ๋ ฅํ๋๊ฐ?
๋ฐ๋ก ์ํฐ์ด๋ค. ์ํฐ๋ C์ธ์ด์์ \n ์ผ๋ก ํ์ํ๋ค. ๋๋ฌธ์ ์ ๋ ฅ์ ์๋ฃํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ ์๊ฐ, ์ํฐ ๋ํ \n ์ผ๋ก ์ธ์์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์ํ ๋ณ์์๋ \n์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค.
์๋ฅผ๋ค์ด ๋ฌธ์ A๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด %c๊ฐ \n (์ํฐ)๋ฅผ ๋จน์ด๋ฒ๋ ค์ \n์ผ๋ก ๋ณ์ ํ๋ค. ๋๋ฌธ์ A๊ฐ ๋ค์ด๊ฐ๋๊ฒ ์๋, \n์ด ๋ค์ด๊ฐ๋ค.
๊ทธ๋ ๋ค๋ฉด ํด๊ฒฐ์ ๋๋์ฒด ์ด๋ป๊ฒ ํ๋๊ฐ?
ํด๊ฒฐ๋ฐฉ๋ฒ
ํด๊ฒฐ๋ฐฉ๋ฒ์ ์์ฃผ ๊ฐ๋จํ๋ค. %c ์์ ๊ณต๋ฐฑ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
#include <stdio.h>
//๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ฝ๋
int main(void)
{
char var;
printf("๊ฐ์ ์
๋ ฅ ํด ์ฃผ์ธ์: ");
scanf_s(" %c", &var);
printf("๊ฐ์ %c ์
๋๋ค.", var);
}
๋ ์ฝ๋์ ์ฐจ์ด๊ฐ ๋ณด์ด๋๊ฐ?
%c ์์ ๊ณต๋ฐฑ์ ๋ฃ์ด์ฃผ๊ฒ ๋๋ฉด, ์ด ๊ณต๋ฐฑ์ด ์ํฐ๋ฅผ ๋ง์์ค๋ค.
'๐ํ๋ก๊ทธ๋๋ฐ > ๐C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฒํผ ์ค๋ฒํ๋ก์ฐ(Buffer Overflow) (1) | 2023.12.27 |
---|---|
#3 - ๋ณ์์ ์๋ฃํ (1) (0) | 2023.12.18 |
[C์ธ์ด] ์ด์คfor๋ฌธ์ผ๋ก ๊ตฌ๊ตฌ๋จ์ ๋ง๋ค์ด๋ณด์ (0) | 2023.07.05 |
#2 - printf() / scanf() (0) | 2023.06.29 |
#1 - C ์ธ์ด์ ๊ตฌ์ฑ (0) | 2022.12.13 |
๋๊ธ