[CS50] C 언어 - 문자열

TIL

변수와 형식 지정자

사용자로부터 문자열을 입력받아 출력하는 프로그램을 작성해보자.

 

사용자의 이름을 저장할 변수를 answer라고 정했다. C는 오래된 언어라 변수가 저장하는 데이터 종류를 정확히 명시해야 한다.

string answer = get_string("What's your name?\n");
  • 문자열을 저장한다는 것을 알려주기 위해 string이라는 형식 지정자를 사용한다.
  • =는 할당 연산자로, 오른쪽 값을 왼쪽 변수에 저장한다는 의미이다. get_string 함수가 반환한 사용자 이름을 answer변수에 저장하는 것이다.

 

문자열 출력

이제 printf함수로 저장된 이름을 출력해보자.

 

변수에 들어있는 값을 출력하려면 %를 사용한다. 문자열(string)이므로 s를 붙여 %s로 지정한다.

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

 

전체 코드는 다음과 같다.

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

int main(void)
{
    string answer = get_string("What's your name?\n");
    printf("hello, %s\n", answer);
}

cs50.h 파일에는 string 형식과 get_string 함수가 정의되어 있다. 이 파일을 포함해야 코드를 컴파일하고 실행할 수 있다.

 

컴파일

터미널에서 다음 명령어로 컴파일한다.

clang 명령어

$ clang -o string string.c -lcs50
  • -o string: string.c를 string 실행 파일로 저장
  • -lcs50: cs50 라이브러리를 링크

 

make 명령어

더 간단하게는 make 명령어를 사용할 수 있다.

$ make string
$ ./string

 

프로그램을 실행하면 사용자에게 입력을 받고 문장에 포함하여 출력한다.

 

연습문제

Q. "좋아하는 동물을 알려주세요"로 질문하여 동물 이름을 animal 변수에 저장하고, "내가 좋아하는 동물은 [동물]"으로 출력하는 코드를 작성해보자.

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

int main(void)
{
    string animal = get_string("좋아하는 동물을 알려주세요\n");
    printf("내가 좋아하는 동물은 %s\n", animal);
}

'TIL' 카테고리의 다른 글

[CS50] C 언어 - 자료형과 연산자  (0) 2025.11.05
[CS50] C 언어 - 조건문과 루프  (0) 2025.11.05
[CS50] C 기초  (0) 2025.11.05
[TS] 조건부 타입과 infer를 활용한 타입 추론 연습  (0) 2025.11.05
[TS] infer (타입 추론)  (0) 2025.11.05
'TIL' 카테고리의 다른 글
  • [CS50] C 언어 - 자료형과 연산자
  • [CS50] C 언어 - 조건문과 루프
  • [CS50] C 기초
  • [TS] 조건부 타입과 infer를 활용한 타입 추론 연습
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Pages Router
    트러블 슈팅
    useState
    Next.js
    Trouble Shooting
    클래스
    자료구조
    App Router
    인터페이스
    cs50
    typescript
    배열
    페이지 라우터
    제네릭
    C
    algorithm
    알고리즘
    generic
    react
    memory
    javascript
    emotion diary
    문자열
    타입 좁히기
    함수 타입
    Spa
    앱 라우터
    CS
    바닐라 자바스크립트
    ai 감성 일기장
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[CS50] C 언어 - 문자열
상단으로

티스토리툴바