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++吧,比这个容易多了