下面的选项中正确的赋值语句是(char a[5],*p=a;)( )。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D

为什么C不可以理解为指针p的内容为abcd

正确结果是:A
A p=“abcd”; P是字符型指针,将“abcd”的地址给了P,也就是P指向“abcd"的首地址,也就是 指向‘a'的地址;
B a=“abcd”;a是字符数组的地址,不可赋值;
C *p=“abcd”; *P是字符,不能将字符串赋给它,若是*p='a',则正确。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-16
1、某个变量的内容,只能是一个常量;
2、字符串不是常量,字符才是常量;
3、字符串的首地址也是常量,其实字符串的首地址就是一个指针。
第2个回答  2011-02-16
A

下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd...
答案是a 主要考核你对变量赋值时的对等关系;a p=“abcd”;p是字符型指针,将“abcd”的地址给了p,也就是p指向“abcd"的首地址,也就是 指向‘a'的地址;b a=“abcd”;a是字符数组的地址,不可赋值;c p=“abcd”;p是字符,不能将字符串赋给它,若是*p='a',则正确。

已有如下代码: char a[5],*p=a; 则下面选项中正确的赋值语句是()
【答案】:A P是字符型指针,将“abcd”的地址给了p,也就是p指向“abcd"的首地址,也就是 指向a的地址

c语言指针编程下面的选项中正确的赋值语句是(char a[5],*p=a;)()。
正确:char a[10]="abcd";错误:char a[10];a[10]="abcd";对地址的操作当然是和指针相关联,显然A是正确的;B选项可以排除,其实a可以理解为指针常量;C选项左右两边不是等级的,左边为变量,右边为指针;D选项同C选项。

求这道C语言选择题的详细解答
char a[5],*p=a;,下面选择中正确的赋值语句是(A.p=“abcd”;)。B.a=“abcd”; \/\/无法赋值 C.*p=“abcd”;\/\/*p类型为char型 D.*a=“abcd”;\/\/*a类型为char型

求解释 char a [5],*p =a ; 赋值语句p ="abcd "为什么是正确的呢?
因为数组名代表的就是该数组最开始的一个元素的地址, &a = a = &a[0]所以这个 p =a [0]=&a="abcd "

假设已定义char a[10]; char *p; 下面的赋值语句中,正确的是
正确的只有p=a;故选C。

...char a[6],*p=a;下面表达中,正确的赋值语句是
C是正确的 首先明确几个问题:1、*p相当于a[0];2、a是数组名,同时是数组的首地址,不能被修改;3、a[i]是第i+1个元素,只能赋予单个字符。A:根据1,相当于a[0]=“Hello",再根据3可排除 B:由2得知是错的 C:p是个指针,可以改变指向,是对的 D:由3得知是错的 ...

...定义char a[10], *p; 下面的赋值语句中正确的是A. p=a; B. a=...
选择A,p=a;是正确的

...的是( )。 A)char s[5]={'a','b','c','d', 'e'};
A) 因为没有字符串结束符'\\0',所以s不算字符串 B) char *s;gets(s); s还是个野指针,所以gets(s)是不安全的 C) char *s;s="ABCDEF"; 正确,定义了一个指针s,然后把s指向存储"ABCDEF"这个字符串的内存首地址。 s="ABCDEF" ; 就是在初始化s D) char s[5];scanf("%s",&s...

为什么char b[ 5 ] , *p=b; 正确的赋值语句是p=”abcd”
不知道想问什么?这个语句定义了一个数组b和一个指针p,并将指针p指向数组的首元素。p = b;等价于 p=&b[0];

相似回答