C语言的一个简单字符指针问题,这个程序为什么不对

#include<stdio.h>intmain(){char*p=NULL;chara='b';*p=a;printf("%c",*p);return0;}一个很简单的... #include<stdio.h>
int main(){
char *p=NULL;
char a='b';
*p=a;
printf("%c ",*p);
return 0;
}
一个很简单的程序,最后无法运行,为什么呢?
展开
 我来答
一颗程序猿o_0
2019-03-05 · TA获得超过6296个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1283万
展开全部

不应该是 *p=a, 二是 p=&a

指针p的值是空, 不能对他进行*操作

或者:

char c = 'B';
p = &c;
*p = a;
moralistxp
2019-03-05 · TA获得超过741个赞
知道大有可为答主
回答量:2216
采纳率:76%
帮助的人:477万
展开全部
指针解引和指针赋值问题
让指针p指向a
应写为
p=&a
即取出a到地址,存入p
*p 为p指针所指地址的值
更多追问追答
追问
如果我就是想让指针p所指地址的值和字符变量a一样呢?而不是让p指向a
追答
你是对指针不理解,p现在只是一个指针,必须指向一个地址
如果按你说的,需要先给p分配一个试剂的内存,然后等于复制a的值到p指向的内存地址
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2019-03-05 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
p=&a而不是*p=a。
追问
如果我就是想让指针p所指地址的值和字符变量a一样呢?而不是让p指向a
追答
那你首先得让p指向一块有效的地址,例如用malloc分配一块。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式