• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예외발생이 생깁니다.

20.03.18 22:42 작성 조회수 111

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 를 썼기 때문에 에러가 생기는 겁니다.

감사합니다. ^^