변수와 형식 지정자
사용자로부터 문자열을 입력받아 출력하는 프로그램을 작성해보자.
사용자의 이름을 저장할 변수를 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 |
