int main()
{
char a;
char *str=&a;
strcpy(str,"hello");
printf(str);
return 0;
}
没有为str分配内存空间,将会发生异常。问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。
下方写法正确:
int main()
{
//char a;
//char *str=&a;
char *str =new char [100];
strcpy(str,"hello");
printf(str);
return 0;
}