서식지정자(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에는 ""를 사용한다는 것.
참고
'주니어에서 시니어로 > 초보 개발자 TIP' 카테고리의 다른 글
'프로토콜을 구현'한다는 게 무슨 말일까? (0) | 2023.06.15 |
---|---|
윈도우10 느려졌을 때 해결법 (재부팅으로 안 될 때) (1) | 2021.09.24 |
조회한 데이터 가공 위치 (0) | 2020.12.02 |
[초보 개발자 Tip] 크롬 단축키 (0) | 2020.11.29 |
[무료책] 유지보수하기 어렵게 코딩하는 방법(개정판) (0) | 2020.10.30 |
댓글