Post

[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);

Desktop View

์—ฌ๊ธฐ์„œ ๋‘ ๊ฐ€์ง€๊ฐ€ ํ•ต์‹ฌ์ด๋‹ค.

ํฌ์ธํŠธ์„ค๋ช…
& (์ฃผ์†Œ ์—ฐ์‚ฐ์ž)printf์™€ ๋‹ฌ๋ฆฌ, scanf๋Š” ์ž…๋ ฅํ•  ๋ณ€์ˆ˜๋ช… ์•ž์— &๋ฅผ ๋ถ™์ธ๋‹ค
๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„%d๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋‘๋ฉด ์ž…๋ ฅ ์‹œ ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋ˆ  ๋„ฃ๋Š”๋‹ค
#pragma warning(disable:4996)Visual Studio์—์„œ scanf ๊ด€๋ จ ์—๋Ÿฌ๋ฅผ ๋ฌด์‹œ (์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ถ”ํ›„)

Desktop View

๊ฐ๊ฐ 50 70 90์„ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด?

Desktop View

๋‹ค์Œ ๋ฌธ์žฅ์ธ printf๊ฐ€ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿ’ก scanf์—์„œ ๋ณ€์ˆ˜๋ช… ์•ž์— &๋ฅผ ๋ถ™์ด๋Š” ์ด์œ ๋Š” โ€œ๊ฐ’์„ ์ €์žฅํ•  ์ฃผ์†Œโ€œ๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ง€๊ธˆ์€ ๊ทœ์น™์œผ๋กœ ์™ธ์šฐ๊ณ , ํฌ์ธํ„ฐ๋ฅผ ๋ฐฐ์šฐ๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ดํ•ด๋œ๋‹ค.


2. ๋ฌธ์ž์—ด ์ž…๋ ฅ โ€” gets

๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌธ์ž์—ด(์ด๋ฆ„ ๋“ฑ)์€ ์–ด๋–ป๊ฒŒ ์ž…๋ ฅ๋ฐ›์„๊นŒ?

Desktop View

scanf("%s", ...)๋กœ ๋ฌธ์ž์—ด์„ ๋ฐ›์œผ๋ฉด ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์—†๋‹ค(๊ณต๋ฐฑ์—์„œ ์ž…๋ ฅ์ด ๋Š๊ธด๋‹ค). ๋„์–ด์“ฐ๊ธฐ๊นŒ์ง€ ํฌํ•จํ•œ ํ’€๋„ค์ž„์„ ๋ฐ›์œผ๋ ค๋ฉด gets(๋ณ€์ˆ˜๋ช…)์„ ์“ด๋‹ค.

1
2
3
char name[20];
gets(name);          // ๋„์–ด์“ฐ๊ธฐ ํฌํ•จ ์ž…๋ ฅ ๊ฐ€๋Šฅ
printf("%s\n", name);

Desktop View

Desktop View

Shin Dong Hee์ฒ˜๋Ÿผ ๊ณต๋ฐฑ์ด ํฌํ•จ๋œ ๋ฌธ์ž์—ด๋„ ์ž˜ ์ถœ๋ ฅ๋œ๋‹ค.


๐Ÿ“ ์ •๋ฆฌ

ํ•จ์ˆ˜์šฉ๋„ํŠน์ง•
scanf๊ฐ’ ์ž…๋ ฅ๋ณ€์ˆ˜ ์•ž์— & ํ•„์š”, ๊ณต๋ฐฑ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐ’ ๊ตฌ๋ถ„
gets๋ฌธ์ž์—ด ์ž…๋ ฅ๋„์–ด์“ฐ๊ธฐ ํฌํ•จ ํ•œ ์ค„ ์ž…๋ ฅ

์ž…๋ ฅ์˜ ํ•ต์‹ฌ์€ scanf์—์„œ๋Š” ๋ณ€์ˆ˜ ์•ž์— &๋ฅผ ๋ถ™์ธ๋‹ค๋Š” ์ ์ด๋‹ค. ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์ž์—ด์€ gets๋ฅผ ์“ด๋‹ค๋Š” ๊ฒƒ๋„ ํ•จ๊ป˜ ๊ธฐ์–ตํ•˜์ž.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.