C语言问题
29)下面说明不正确的是A)chara〔10〕="china";B)chara〔10〕,*p=a;p="china"C)char*a;a="china";D)chara〔...
29)下面说明不正确的是
A)char a〔10〕="china";
B)char a〔10〕,*p=a;p="china"
C)char *a;a="china";
D)char a〔10〕,*p;p=a="china"
请详细分析一下BD 展开
A)char a〔10〕="china";
B)char a〔10〕,*p=a;p="china"
C)char *a;a="china";
D)char a〔10〕,*p;p=a="china"
请详细分析一下BD 展开
5个回答
展开全部
D错
B)char a〔10〕,*p=a;p="china"//定义数组g[10],定义指针p,p指向数组a[10],给指针赋值,指针在定义以后可以直接赋字符串值。
D)char a〔10〕,*p;p=a="china" //在这里相当于是a="china";p=a;但是在数组定义以后不能再这样给数组赋值e="china",只有在定义时可以,如答案A所示。
B)char a〔10〕,*p=a;p="china"//定义数组g[10],定义指针p,p指向数组a[10],给指针赋值,指针在定义以后可以直接赋字符串值。
D)char a〔10〕,*p;p=a="china" //在这里相当于是a="china";p=a;但是在数组定义以后不能再这样给数组赋值e="china",只有在定义时可以,如答案A所示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B是对的,p="china"
是吧"china"的首地址赋给p,所以是正确的
D是错的,a="china"
这种赋值方法是不对的,
是吧"china"的首地址赋给p,所以是正确的
D是错的,a="china"
这种赋值方法是不对的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B)char a〔10〕,*p=a;p="china" //给指针定义并赋初值应该是这样:*p=&a;后面调用应为:*p=="china"
D)char a〔10〕,*p;p=a="china" //其中p是指针,不能把变量a赋给一个指针p;后面应改为:p=&a;*p="china";
D)char a〔10〕,*p;p=a="china" //其中p是指针,不能把变量a赋给一个指针p;后面应改为:p=&a;*p="china";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D a="china" 就错 了。a是代表地址,访问数组元素要下标
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[10]被定义为一个能容纳10个字符的字符数组,C语言里一般用数组名来标识这个数组的首地址。
B 项中 p="china",指针p保存的实际上是字符串(在编译器内以字符数组的形式处理)的首地址,他的值是&a[0],指向第一个字符'a'。变量a即数组名,也代表数组的首地址。char a[10],*p=a;p="china";保存的只是第一个字符。
D中数组名a只是起标识作用,并不能参与同指针的代换赋值,(想想字符串复制功能并不利用数组名和指针代换),牵涉到数组内部元素,就要使用下标了。这种写法是错误的。
也不用象楼上的那样,将a改成&a,原因已经说过。
B 项中 p="china",指针p保存的实际上是字符串(在编译器内以字符数组的形式处理)的首地址,他的值是&a[0],指向第一个字符'a'。变量a即数组名,也代表数组的首地址。char a[10],*p=a;p="china";保存的只是第一个字符。
D中数组名a只是起标识作用,并不能参与同指针的代换赋值,(想想字符串复制功能并不利用数组名和指针代换),牵涉到数组内部元素,就要使用下标了。这种写法是错误的。
也不用象楼上的那样,将a改成&a,原因已经说过。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询