주니어에서 시니어로/초보 개발자 TIP
[C언어] %c와 %s, 작은따옴표('')와 큰따옴표("")
펜네임
2021. 6. 11. 10:14
서식지정자(format specifier)%c는 문자 하나(Char), %s는 문자열(String)을 의미한다.
작은따옴표는 문자 하나(Char), 큰따옴표는 문자열(String)에 써야 함.
따라서 아래의 코드를 실행하면 Runtime error가 발생한다.
#include <stdio.h>
int main() {
printf("%%c에 큰따옴표 : %c\n", "A");
printf("%%s에 작은따옴표 : %s\n", 'A');
return 0;
}
💡 이유는?
큰따옴표를 사용하면 문자열 뒤에 null문자가 붙고,
%s라는 서식지정자는 null이 나올 때까지 문자열을 읽는다고 한다.
따라서 null문자가 없는 작은따옴표를 사용하면 오류를 발생시키는 것.
올바른 작성은 아래처럼.
#include <stdio.h>
int main() {
printf("%%c에 작은따옴표 : %c\n", 'A');
printf("%%s에 큰따옴표 : %s\n", "A");
return 0;
}
결론
%c에는 ''를,
%s에는 ""를 사용한다는 것.
참고