分析一下C语言指针指向的问题

设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是
A)char str[ ]="string";c=str;
B)scanf("%s", c);
C)c=getchar();
D)*c="string";

我觉得C,D肯定错误,A的话指向的是数组名,来人分析下

3个回答

a可以 str是数组首地址赋给指针
b不确定吧 看输入什么
c不对 getchar返回的是int
d指针不能这样赋值

A

答案应该是A,,,

首先,A=str,,,,这里的str指的是字符串的首地址,,

选项B错,,输入%s,,,给c,,c是一个地址,,把字符串给地址不妥吧
选项C错,,getchar(),,,获取的字符,,复制给c,,错了应该复制给*c
选项D错,,*c类型是char,,赋值字符串错的,,,类型不匹配,

 A
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问