C语言中,不能用scanf()函数输入字符串后赋给字符型指针变量?具体请看下面代码中的注释。谢谢!

2024-11-06 14:38:06
推荐回答(5个)
回答(1):

char *pc; 只是声明了指针,这个指针没有赋值 也就是它指向的地址还不确定
pc没有初始化

改成
char place[256];
char *pc=place;

回答(2):

字符指针pc没有初始化,指向未知内存空间导致的!

改为char *pc=(char*)malloc(sizeof(char)*100);

回答(3):

指针必须指向某一定义好的元素,你定义指针后,是不直接分给指针内存的,你的输入语句,系统根本不知道该把值放到哪里,让指针指向某一变量,这样就不会报错了

回答(4):

char *pc=malloc(100); //声明字符指针,并指向一个100个字节的内存空间。

回答(5):

改用c++吧,比这个容易多了