a表示数组的首地址
p是一个指针变量,可以将数组的首地址赋值给p, 所以p=a;是正确的
但是a= "china"却不行,因为字符数组a是作为字符串常量存在的,只能在定义的时候赋值,
不能像这样在后面对数组进行赋值操作
这里的错误是:数组是不能整体引用的,不能a="china";,应该是a[]="china";程序应该改成:char a[10],*p;a[]="china";p=a;
应该选d。p是指针变量名,可以把地址赋给指针变量,只能逐个引用数组元素的值而不能整体引用,更不能对整个数组进行自增或自减,没有c这种初始化形式,d是用自符串常量来初始自符数组,前三个元素为mba,第四个为反斜杠0,后六个为空自符。
p是指针,不能直接赋值
可以如下赋值:
char a[10],*p;
a="china";
p=a;
p和s都是地址,所以不能赋值China,只能同样赋值一个地址