본문 바로가기
주니어에서 시니어로/초보 개발자 TIP

[C언어] %c와 %s, 작은따옴표('')와 큰따옴표("")

by 펜네임 2021. 6. 11.

서식지정자(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에는 ""를 사용한다는 것.

 

 

 

참고

https://for-survive.tistory.com/7

댓글