TIL 02 :: [CS50] C์–ธ์–ด

Heewonยท2021๋…„ 6์›” 3์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

๐ŸŽˆ ํ•ด๋‹น ๊ธ€์—์„œ๋Š” '์Šคํฌ๋ž˜์น˜'ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค!

1) C ๊ธฐ์ดˆ

C์–ธ์–ด

  • int main(void){}
    When (Green flag) clicked๋Š” int main(void){} ์™€ ๋™์ผํ•˜๋‹ค.

  • printf("hello world");
    say hello, world์˜ ๋ธ”๋ก๊ณผ ๋™์ผํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. hello world๋ฅผ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

  • #include <stdio.h>
    stdio.h๋ผ๋Š” ํŒŒ์ผ์„ ์ฐพ์•„ printf ํ•จ์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.
    ์ฆ‰, stdio.h๋ผ๋Š” ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค๊ณ (์ฐธ์กฐ) ํ•ด์„ํ•˜๋ฉด ์‰ฝ๋‹ค.
    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์—ญํ• ์„ ํ•œ๋‹ค.

๊ธ€์ž,๋‹จ์–ด,๋ฌธ์žฅ์€ "" ์•ˆ์— ๋„ฃ์–ด์ค€๋‹ค.
๋ฌธ์žฅ์˜ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก (;)์„ ๋ถ™์—ฌ์ค€๋‹ค.
printf("hello world\n"); ์—์„œ \n์€ ์ค„๋ฐ”๊ฟˆ(enter)์—ญํ• ์„ ํ•œ๋‹ค. terminal์—์„œ ์ค„๋ฐ”๊ฟˆ์„ ํ•ด์ฃผ์–ด ๊ฐ€๋…์„ฑ์„ ๋†’์ธ๋‹ค.

์ปดํŒŒ์ผ๋Ÿฌ

์ƒ๋‹จ์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ '์†Œ์Šค์ฝ”๋“œ' ๋ผ๊ณ  ํ•˜๊ณ  ์ด ์ฝ”๋“œ๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ์ด๋ฅผ '๋จธ์‹ ์ฝ”๋“œ' ๋ผ๊ณ  ๋งํ•œ๋‹ค.
์šฐ๋ฆฌ๋Š” '์†Œ์Šค์ฝ”๋“œ'๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” '๋จธ์‹ ์ฝ”๋“œ'๋กœ ๋ณ€ํ™˜, ์ฆ‰ ์ปดํŒŒ์ผํ•ด์•ผ ํ•œ๋‹ค.

ํ„ฐ๋ฏธ๋„์ฐฝ์˜ $๊ธฐํ˜ธ ์˜†์— clang hello.c ๋ผ๊ณ  ์ž…๋ ฅํ•˜๋ฉด ์ปดํŒŒ์ผ์ด ๋œ๋‹ค.

clang์€ ์ปดํŒŒ์ผ๋Ÿฌ๋กœ hello.c ๋ผ๋Š” ํŒŒ์ผ์˜ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

๊ทธ ๊ฒฐ๊ณผ a.out์ด๋ผ๋Š” ๋จธ์‹ ์ฝ”๋“œ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.
./a.out ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์ฐฝ์— ์ž…๋ ฅํ•˜๋ฉด ์‹คํ–‰๋œ๋‹ค.

์ปดํŒŒ์ผ ๊ณผ์ •์„ ์ž์„ธํžˆ ์•Œ๊ณ ์‹ถ๋‹ค๋ฉด

2) ๋ฌธ์ž์—ด


์—ฌ๊ธฐ์„œ ask๋Š” get_string๊ณผ ์œ ์‚ฌํ•˜๋‹ค.
get_string ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด answer ๋ณ€์ˆ˜์— ์ €์žฅ๋œ๋‹ค.

string = ๋‹จ์–ด๋‚˜ ๊ตฌ์ ˆ, ๋ฌธ์žฅ
string์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜๋ฅผ ๋ช…์‹œํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ๋ณ€์ˆ˜๊ฐ€ ์ง€์ •๋œ๋‹ค.
์ด๊ฒƒ์„ ํ˜•์‹ ์ง€์ •์ž๋ผ๊ณ  ํ•œ๋‹ค.
๋ณ€์ˆ˜๋ช…์€ ์ž„์˜๋กœ ์ •ํ•ด๋„ ๊ดœ์ฐฎ๋‹ค.

โœ” ํ• ๋‹น ์—ฐ์‚ฐ์ž
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋œปํ•˜๋Š” '=' ๋Š” ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฒƒ์„ ์™ผ์ชฝ์— ์ง€์ •ํ•œ๋‹ค๋Š” ๋œป
'==' ๋Š” ๊ฐ™๋‹ค๋ผ๋Š” ํ‘œํ˜„์ด๋‹ค.

์ถœ๋ ฅ


printf("hello, %s\n", answer);

๋ณ€์ˆ˜ answer์— ๋‹ด๊ธด ๋‚ด์šฉ์ด ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— %๋ฅผ ์ด์šฉํ•˜๊ณ  string์˜ s๋ฅผ ๋ถ™์—ฌ %s๋ฅผ ์ž…๋ ฅํ•˜๋ฉด string์ธ ์ธ์ž๋ฅผ ๋ฐ›๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
""(์Œ๋”ฐ์˜ดํ‘œ) ๋‹ค์Œ ์ž…๋ ฅ๋œ answer์€ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

  • get_string ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด
    #include <cs50.h> ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์™€์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (์ปดํŒŒ์ผ ๊ฐ€๋Šฅ)

  • ์ด์ œ ์ปดํŒŒ์ผ์„ ํ•ด๋ณด๋ ค๋ฉด?
    $ clang -o string string.c -lcs50

    -o string ์€ string.c ๋ฅผ string.out ์ด๋ผ๋Š” ๋จธ์‹ ์ฝ”๋“œ๋กœ ์ €์žฅํ•˜๋„๋ก ํ•œ๋‹ค. ์ฆ‰ string์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋จธ์‹ ์ฝ”๋“œ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๋ผ๋Š” ๋œป
    -lcs50์€ โ€œlinkโ€๋ผ๋Š” ์—ฐ๊ฒฐ์„ ์˜๋ฏธํ•˜๊ณ  -l ์ธ์ž์— ์šฐ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋กœ ํฌํ•จํ•œ โ€œcs50โ€ ํŒŒ์ผ์„ ํ•ฉ์นœ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ปดํŒŒ์ผ์‹œ cs50 ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋„๋ก ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ๋‹ค.
    ๋‘ ์ฝ”๋“œ๊ฐ€ ํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

๋” ์‰ฝ๊ฒŒ, $make string
make๋ฅผ ์“ฐ๋ฉด ์ € ๊ธด ๋ฌธ์žฅ์„ ํ„ฐ๋ฏธ๋„์ฐฝ์— ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  make๋งŒ ์ด์šฉํ•ด์„œ ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

3) ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฃจํ”„

์กฐ๊ฑด๋ฌธ

  • ์Šคํฌ๋ž˜์น˜์—์„œ ๋ณ€์ˆ˜ ๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ C์–ธ์–ด์—์„œ๋Š”
    counter = counter +1;
    ๋กœ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์ด ๋˜ํ•œ ํ•ด์„ํ•˜์ž๋ฉด ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์ด๋ผ๋Š” ๋œป์ด ์ ์šฉ๋œ๋‹ค.
    ์ด๋ฅผ ๋‹จ์ถ•ํ•˜๋ฉด

    counter += 1; ํ˜น์€ counter++;๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์กฐ๊ฑด๊ฐ™์€ ๊ฒƒ๋“ค์˜ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ๋ถ™์ด์ง€ ์•Š์Œ

if๋ฌธ์„ ํ†ตํ•ด ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ if ์˜† ๊ด„ํ˜ธ ์•ˆ์— ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด์„œ boolean ํ•จ์ˆ˜๋ฅผ ๋„์ถœํ•ด๋‚ด์–ด ์กฐ๊ฑด์„ ๋”ฐ์ ธ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

boolean์ด๋ž€ ์ฐธ๊ณผ ๊ฑฐ์ง“, true or false

์ฒ˜์Œ if๋ฌธ์˜ ํ•ด๋‹น ์กฐ๊ฑด์ด true๋ผ๋ฉด ์ž‘๋™์‹œํ‚ค๊ณ  ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด ๋ฐ‘์—์ค„ else ํ˜น์€ else if๋ฅผ ์ฝ์–ด ์ถœ๋ ฅํ•œ๋‹ค.

๋ฃจํ”„

๋ฐ˜๋ณต๋ฌธ์€ while๊ณผ for๋ฌธ์ด ์กด์žฌํ•œ๋‹ค.


hello, world๋ฅผ 50๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด while ์กฐ๊ฑด์— ๋ณ€์ˆ˜ i < 50์„ ์ฃผ๋ฉด ๋œ๋‹ค.
i๊ฐ€ ๊ณ„์† 0์ด๋ฉด ๊ณ„์† ๋ฌดํ•œ๋Œ€๋กœ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๊ธฐ์— 50๋ฒˆ์˜ ์กฐ๊ฑด์„ ๊ฑธ์–ด๋‘๋ ค๋ฉด i=i+1;์„ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
i๊ฐ€ 0๋ถ€ํ„ฐ ์นด์šดํŒ… ๋˜๋ฏ€๋กœ i < 50์„ ํ•˜๋ฉด 0~49๊นŒ์ง€ ์นด์šดํŒ…๋˜์–ด ์ด 50๋ฒˆ ์ถœ๋ ฅ๋œ๋‹ค.


while๋ฌธ๋ณด๋‹ค ๋” ๋””์ž์ธ์ ์œผ๋กœ ํšจ์œจ์„ฑ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด for๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์ •์ˆ˜๊ฐ’(int)์ธ ๋ณ€์ˆ˜ i์— 0์„ ๋‹ด์•„์ฃผ๊ณ  i๊ฐ€ 50๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
์ถœ๋ ฅํ›„ ๋‹ค์‹œ i=i+1์„ ํ•ด์ฃผ๊ณ (์ถœ๋ ฅ๋œ ๊ฐ’์ด true์ด๋ฏ€๋กœ) ๋‹ค์‹œ i<50;์„ ๋น„๊ตํ•ด์ฃผ๊ณ  printf๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅํ•ด์ค€๋‹ค.
์ด ๊ณผ์ •์ด ๋ฐ˜๋ณต๋œ๋‹ค. i๊ฐ€ 50๋ณด๋‹ค ์ž‘์„๋•Œ๊นŒ์ง€.

4) ์ž๋ฃŒํ˜•, ํ˜•์‹ ์ง€์ •์ž, ์—ฐ์‚ฐ์ž

๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…

  • bool: ๋ถˆ๋ฆฌ์–ธ ํ‘œํ˜„, (์˜ˆ) True, False, 1, 0, yes, no
  • char: ๋ฌธ์ž ํ•˜๋‚˜ (์˜ˆ) 'a', 'Z', '?'
  • string: ๋ฌธ์ž์—ด
  • int: ํŠน์ • ํฌ๊ธฐ ๋˜๋Š” ํŠน์ • ๋น„ํŠธ๊นŒ์ง€์˜ ์ •์ˆ˜ (์˜ˆ) 5, 28, -3, 0
  • long: ๋” ํฐ ํฌ๊ธฐ์˜ ์ •์ˆ˜
  • float: ๋ถ€๋™์†Œ์ˆ˜์ ์„ ๊ฐ–๋Š” ์‹ค์ˆ˜ (์˜ˆ) 3.14, 0.0, -28.56
  • double: ๋ถ€๋™์†Œ์ˆ˜์ ์„ ํฌํ•จํ•œ ๋” ํฐ ์‹ค์ˆ˜

ํ˜•์‹ ์ง€์ •์ž

  • %c : char
  • %f : float, double
  • %i : int
  • %li : long
  • %s : string

๊ธฐํƒ€ ์—ฐ์‚ฐ์ž ๋ฐ ์ฃผ์„

  • +: ๋”ํ•˜๊ธฐ
  • -: ๋นผ๊ธฐ
  • *: ๊ณฑํ•˜๊ธฐ
  • /: ๋‚˜๋ˆ„๊ธฐ
  • %: ๋‚˜๋จธ์ง€
  • &&: ๊ทธ๋ฆฌ๊ณ 
  • ||: ๋˜๋Š”
  • //: ์ฃผ์„

์ •์ˆ˜์™€ ์‹ค์ˆ˜๋ฅผ ๋ฐ›์•„์„œ ์ถœ๋ ฅํ•ด๋ณด๊ธฐ ไธญ ์†Œ์ˆ˜์  ํ‘œํ˜„

printf("Your total is %.2f \n", price*1.0625);
%f์—์„œ f ์•ž์— ์›ํ•˜๋Š” ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.
price๊ฐ€ 100์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด %.2f๋ฅผ ์ž…๋ ฅํ•˜๋ฉด 106.25๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

์ฃผ์„

// ์ฃผ์„์ž…๋‹ˆ๋‹ค.

5) ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜, ์ค‘์ฒฉ ๋ฃจํ”„

์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

  1. ์˜ˆ์ œ
#include <stdio.h>

void cough(int n);

int main(void)
{
    cough(3);
}

void cough(int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("cough\n");
    }
}

ํ•จ์ˆ˜ void (int n)์€ ํ•จ์ˆ˜๊ฐ€ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„์„œ int ํ˜•์‹์˜ n์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅ

  • void cough(int n) ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ main(void)๋ณด๋‹ค ์ƒ๋‹จ์— ์–ธ๊ธ‰ํ•˜์—ฌ์•ผ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    ์ปดํ“จํ„ฐ๋Š” ์œ„์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‹ˆ๊นŒ ์ง€์ •ํ•œ ํ•จ์ˆ˜๊ฐ€ main(void)๋ณด๋‹ค ์•„๋ž˜์— ์žˆ์œผ๋ฉด main(void)์—์„œ '์•ผ, void cough(int n) ํ•จ์ˆ˜ ์—†๋Š”๋ฐ?' ๋ผ๊ณ  ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค

๊ทธ๋Ÿฐ๋ฐ ๋””์ž์ธ์ ์œผ๋กœ ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” main(void)๊ฐ€ ์ฒ˜์Œ ํŒŒ์ผ์„ ์—ด์—ˆ์„๋•Œ ๊ฐ€์žฅ ์ƒ๋‹จ์— ์žˆ์–ด์•ผ ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค.
ํ”„๋กœ์ ํŠธ ํ•˜๋ฉด์„œ ํ•จ์ˆ˜๋ฅผ ๋งŽ์ด ์ž‘์„ฑํ• ํ…๋ฐ ๊ทธ ๋ชจ๋“ ๊ฒŒ ์ƒ๋‹จ์— ์žˆ์œผ๋ฉด (์‚ฌ๋žŒ์ด)์ฝ๊ธฐ ํž˜๋“ค๋‹ค.
๊ทธ๋ž˜์„œ ํ•จ์ˆ˜๋Š” ๊ฐ€์žฅ ํ•˜๋‹จ์— ๋‘๊ณ  ๋Œ€์‹  main(void)์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ๋จผ์ € ์ƒ๋‹จ์— ์ •์˜ํ•ด์ฃผ๋ฉด ์ปดํ“จํ„ฐ๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.


2. ์˜ˆ์ œ
#include <cs50.h>
#include <stdio.h>

int get_positive_int(void);

int main(void)
{
    int i = get_positive_int();
    printf("%i\n", i);
}

int get_positive_int(void)
{
    int n;
    do
    {
        n = get_int("Positive Integer: ");
    }
    while (n < 1);
    return n;
}

do{ }while()์€ ์กฐ๊ฑด๊ณผ ์ƒ๊ด€์—†์ด ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ { }์•ˆ์˜ ๋‚ด์šฉ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
while(n<1); ์ด ์ฐธ์ผ๋•Œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๋ผ๋Š” ๋œป
๋งŒ์•ฝ n์ด 1๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๊ณ„์†ํ•ด์„œ ์งˆ๋ฌธ์„ ๋ฐ˜๋ณต
while์„ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด while์˜ ์กฐ๊ฑด์ด ์ฐธ์ด์–ด์•ผ๋งŒ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ do-while์€ do์—์„œ ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

int get_positive_int(void) โ“

int get_positive_int(void)๋Š” ๊ด„ํ˜ธ ์•ˆ์— void๋กœ ์ž…๋ ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.
๊ด„ํ˜ธ ์•ˆ์— ์•„๋ฌด๊ฒƒ๋„ ๋„ฃ์„ ํ•„์š”๊ฐ€ ์—†์–ด์„œ ์•„๋ฌด ์–‘์˜ ์ •์ˆ˜๋ฅผ ๋ฐ›์œผ๋ฉด ๋œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ cs50๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ get_string ๊ฐ™์€ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๊ฐ’์„ ๋ฐ›์•„ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ํ•˜๊ณ ์‹ถ์–ด ํ•จ์ˆ˜ ์•ž์— void๋Œ€์‹  int(์ถœ๋ ฅ ์ข…๋ฅ˜)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

int๋Š” ์ถœ๋ ฅ์˜ ์ข…๋ฅ˜ | (void)๋Š” ์ž…๋ ฅ์˜ ์ข…๋ฅ˜

์ฐธ๊ณ : get_positive_int๋ผ๋Š” ํ•จ์ˆ˜๋Š” cs50์— ์—†๋Š” ํ•จ์ˆ˜์ด๋‹ค.

์ค‘์ฒฉ ๋ฃจํ”„

#include <cs50.h>
#include <stdio.h>

int main(void)
{
    int n;

    do
    {
        n = get_int("Size: ");
    }
    while (n < 1);

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            printf("#");
        }
        printf("\n");
    }
}
  • ์ตœ์ข…๊ฒฐ๊ณผ
    ๊ฐ€๋กœ๊ฐ€ n๊ฐœ, ์„ธ๋กœ๊ฐ€ n๊ฐœ์ธ โ€œ#โ€์ด ์ถœ๋ ฅ๋œ๋‹ค.
profile
https://habitual-history.tistory.com/ โœจ

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด