C语言字符串问题,求正确答案和解释
假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:
A) a[10]=”Turbo C”; B) a=”Turbo C”;
C) *p=”Turbo C”; D) p=”Turbo C”;
为啥
追答A错,因为像A的这种赋值方法只能用在初始化中,比如char a[10]="Turbo C"就是正确的,如果不是初始化,而是先定义,再赋值就不能用这种方法。
B错,a是数组名,是char const * 型指针,不可以赋值。
C错,因为p是char型指针,所以*p是char型,而"Turbo C"是char *型,类型不匹配。