运行以下代码时,我的程序意外崩溃!
#include<stdio.h>
#include<string.h>
int main(){
char *str = NULL;
strcpy(str, "swami");
printf("%s", str);
return 0;
}
但如果我这样做:
#include<stdio.h>
#include<string.h>
int main(){
char *str;
strcpy(str, "swami");
printf("%s", str);
return 0;
}
此代码工作正常并生成正确的输出!
我正在使用 gcc 编译器(代码块 IDE)。此外,这两个代码都会导致 DevCpp 中的程序崩溃。谁能解释一下为什么会这样!?