강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

하좋왕님의 프로필 이미지
하좋왕

작성한 질문수

C 프로그래밍 - 입문부터 게임 개발까지

문자 vs 문자열

예외발생이 생깁니다.

작성

·

194

1

char str[] = "pepsi";

printf("%s\n", str);

printf("%s\n", sizeof(str));

를 할 경우 예외가 발생하게 되는데요, 왜 3번째 줄에서 %s\n이 아닌 %d\n을 쓰는지 궁금하고, %s\n을 사용하는경우 왜 예외발생이 생기는지 궁금합니다.

답변 1

2

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요

printf 를 통해 값을 출력할 때 정해진 약속입니다.

정수형 값을 출력하기 위해서는 %d 를 써야 하고,

문자열 값을 출력하기 위해서는 %s 를 써야 하는 것이죠.

sizeof(str) 은 str 배열의 크기 값인 정수를 출력해야 하는데 %s 를 썼기 때문에 에러가 생기는 겁니다.

감사합니다. ^^

하좋왕님의 프로필 이미지
하좋왕

작성한 질문수

질문하기