一个c语言的问题,编译没错误但执行却会提示“停止工作”,求助。。

2024-12-03 13:18:07
推荐回答(2个)
回答1:

C中定义指针一定要分配内存空间或指向一个已存在的变量。
你直接定义了一个 CHAR * 的指针,没有分配内存直接赋值,所以会出问题。

char*c[2]={"aa","bb"};
应改为
char a[8]= "aa";
char b[8]= "bb";
char *c[2];
c[0] = a;
c[1] = b;

大概应该这样,没测试,有问题可以继续问。

回答2:

这样写的话c[1]="aa";指向一个字符串常量,不能对字符串常量赋值,strcpy也是一样的道理