假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:

假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:

a[10]="C Program";

p="C Program";

a="C Program";

*p="C Program";

第1个回答  2017-07-29
对于A选项:字符串不能直接赋值给数组,需要借用strcpy函数赋值过去。但在c语言中,在定义数组时,允许初始化赋值。既如,char a[10]="hello";得出A为错误选项。
对于B选项:在题目中,明确*p=a,既把a的首地址给指针。所以指针p指向a[0]的地址。而C Program为字符串。把字符串赋值给地址是不支持的。得出B为错误选项。
对于C选项:在C语言中,数组实质是用指针来操作的,数组名为首元素的地址,既a为a[0]的地址。而C Program为字符串。把字符串赋值给地址是不支持的。得出C为错误选项。
第2个回答  2016-04-09
我感觉答案是B
第3个回答  2014-06-04
第四个追问

答案是第二个。。。

相似回答