[C] ์ ์ถ๋ ฅ
๐ ๋ค์ด๊ฐ๋ฉฐ
์ง๊ธ๊น์ง๋ ๊ฐ์ ์ฝ๋ ์์ ์ง์ ์จ๋ฃ์๋ค. ์ด์ ๋ ์ฌ์ฉ์๊ฐ ์ง์ ๊ฐ์ ์
๋ ฅํ๋๋ก ๋ง๋ค์ด ๋ณด์. ์ด๋ฒ ๊ธ์์๋ ์
๋ ฅ ํจ์ scanf์ ๋ฌธ์์ด ์
๋ ฅ gets๋ฅผ ์ ๋ฆฌํ๋ค.
์ ์ถ๋ ฅ(I/O)์ด๋?
๊ตฌ๋ถ ๊ธฐ๋ณธ ์ฅ์น ๊ทธ ์ธ ์ ๋ ฅ(input) ํค๋ณด๋(standard input) ๋ง์ฐ์ค, ๋คํธ์ํฌ, ํ์ผโฆ ์ถ๋ ฅ(output) ๋ชจ๋ํฐ(standard output) ํ๋ฆฐํฐ, ๋คํธ์ํฌ, ํ์ผโฆ
C์์๋ scanf ๋ฌธ์ฅ์ผ๋ก ์ฌ์ฉ์๊ฐ ์ํ๋ ๊ฐ์ ๋ณ์์ ์
๋ ฅํ ์ ์๋ค.
1. scanf๋ก ๊ฐ ์ ๋ ฅ๋ฐ๊ธฐ
๊ตญ์ดยท์์ดยท์ํ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ณด์.
1
2
3
4
5
#pragma warning(disable:4996) // scanf ์๋ฌ ๋ฌด์ (Visual Studio)
...
int kor, eng, math;
scanf("%d %d %d", &kor, &eng, &math); // ์ ์ 3๊ฐ, ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ
printf("๊ตญ์ด=%d ์์ด=%d ์ํ=%d\n", kor, eng, math);
์ฌ๊ธฐ์ ๋ ๊ฐ์ง๊ฐ ํต์ฌ์ด๋ค.
| ํฌ์ธํธ | ์ค๋ช |
|---|---|
& (์ฃผ์ ์ฐ์ฐ์) | printf์ ๋ฌ๋ฆฌ, scanf๋ ์
๋ ฅํ ๋ณ์๋ช
์์ &๋ฅผ ๋ถ์ธ๋ค |
| ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ | %d๋ฅผ ์ฌ๋ฌ ๊ฐ ๋๋ฉด ์
๋ ฅ ์ ๊ณต๋ฐฑ์ผ๋ก ๋๋ ๋ฃ๋๋ค |
#pragma warning(disable:4996) | Visual Studio์์ scanf ๊ด๋ จ ์๋ฌ๋ฅผ ๋ฌด์ (์์ธํ ๋ด์ฉ์ ์ถํ) |
๊ฐ๊ฐ 50 70 90์ ์
๋ ฅํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด?
๋ค์ ๋ฌธ์ฅ์ธ printf๊ฐ ์
๋ ฅ๋ฐ์ ๊ฐ์ผ๋ก ์ถ๋ ฅ๋๋ค.
๐ก
scanf์์ ๋ณ์๋ช ์์&๋ฅผ ๋ถ์ด๋ ์ด์ ๋ โ๊ฐ์ ์ ์ฅํ ์ฃผ์โ๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ํจ์ด๋ค. ์ง๊ธ์ ๊ท์น์ผ๋ก ์ธ์ฐ๊ณ , ํฌ์ธํฐ๋ฅผ ๋ฐฐ์ฐ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ดํด๋๋ค.
2. ๋ฌธ์์ด ์
๋ ฅ โ gets
๊ทธ๋ ๋ค๋ฉด ๋ฌธ์์ด(์ด๋ฆ ๋ฑ)์ ์ด๋ป๊ฒ ์ ๋ ฅ๋ฐ์๊น?
scanf("%s", ...)๋ก ๋ฌธ์์ด์ ๋ฐ์ผ๋ฉด ๋์ด์ฐ๊ธฐ๋ฅผ ํฌํจํ ์ ์๋ค(๊ณต๋ฐฑ์์ ์
๋ ฅ์ด ๋๊ธด๋ค). ๋์ด์ฐ๊ธฐ๊น์ง ํฌํจํ ํ๋ค์์ ๋ฐ์ผ๋ ค๋ฉด gets(๋ณ์๋ช
)์ ์ด๋ค.
1
2
3
char name[20];
gets(name); // ๋์ด์ฐ๊ธฐ ํฌํจ ์
๋ ฅ ๊ฐ๋ฅ
printf("%s\n", name);
Shin Dong Hee์ฒ๋ผ ๊ณต๋ฐฑ์ด ํฌํจ๋ ๋ฌธ์์ด๋ ์ ์ถ๋ ฅ๋๋ค.
๐ ์ ๋ฆฌ
| ํจ์ | ์ฉ๋ | ํน์ง |
|---|---|---|
scanf | ๊ฐ ์ ๋ ฅ | ๋ณ์ ์์ & ํ์, ๊ณต๋ฐฑ์ผ๋ก ์ฌ๋ฌ ๊ฐ ๊ตฌ๋ถ |
gets | ๋ฌธ์์ด ์ ๋ ฅ | ๋์ด์ฐ๊ธฐ ํฌํจ ํ ์ค ์ ๋ ฅ |
์
๋ ฅ์ ํต์ฌ์ scanf์์๋ ๋ณ์ ์์ &๋ฅผ ๋ถ์ธ๋ค๋ ์ ์ด๋ค. ๋์ด์ฐ๊ธฐ๊ฐ ํฌํจ๋ ๋ฌธ์์ด์ gets๋ฅผ ์ด๋ค๋ ๊ฒ๋ ํจ๊ป ๊ธฐ์ตํ์.






Comments powered by Disqus.