47.5심사문제
, Jeon Pyo Soo님이 작성안녕하세요.
질문이 있습니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
//공백잇는문자열 입력받아서 회문판별하기
char sentence[100];
char *save[100] = { NULL, };
scanf("%[^\n]s", sentence);
char sentence2[100];
char ptr = strtok(sentence, " ");
int i = 0;
while (ptr != NULL) {
save[i] = ptr;
i++;
ptr = strtok(NULL, " "); //공백씩 끊어서 save배열에 저장했음
}
return 0;
}
일단 이상황에서 save라는 배열에 공백을 기준으로 입력받은 문장을 짤라서 하나씩 넣은것인데
save배열을 출력해볼때 printf("%s",save[0]); 이런식으로 출력을 하면 예외처리가 뜨더군요..혹시 어디가 잘못된지 알려주실수잇나요.
%p로 출력을하면 주소값은 나옵니다.. %s로했을때만출력이안됩니다.
회신: 47.5심사문제
, 도장_ 관리자님이 작성Unit 47.4의 코드를 참고하세요.
char *save[100]
save는 array of pointer to char입니다. 배열에 담긴 것은 pointer to char이므로 %p로는 출력할 수 있고, %s로는 출력할 수 없습니다.