왜 다음과 같은 프로그램이 실행 시간에 분할 오류를 주는가?
#include <stdio.h>
#include <string.h>
#include <malloc.h>
main()
{
char * str = "Have a. nice, day :)";
char * ptr;
ptr = strtok(str, " .,");
printf("%s",ptr);
}
하지만 char str [] = "Have a nice, day :)"를 사용하면; 그것은 나에게 결과를 준다. strtok 정의가 char * strcpy (char *, const char *) 인 경우에도 오류가 발생하는 이유는 무엇입니까?