若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是A.a+1表示的是字符t的地址 B.p指向另外的字符串时,字符串的长度不受限制C.p变量中存放的地址值可以改变 D.a中只能存放10个字符
- Aa+1表示的是字符t的地址
- Bp指向另外的字符串时,字符串的长度不受限制
- Cp变量中存放的地址值可以改变
- Da中只能存放10个字符
若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是A.a+1表示的是字符t的地址 B.p指向另外的字符串时,字符串的长度不受限制C.p变量中存放的地址值可以改变 D.a中只能存放10个字符
在C程序中,可以用字符数组存放一个字符串,然后输出该字符串,也可以用字符指针指向一个字符串。题目中用字符数组a[]来存放字符串"It is mine",a为数组名,表示首元素的地址,即字母I的地址。a+1表示数组中第二个元素t的地址,选项A正确。当用字符串指针指向字符串时,只是将字符串的第一个元素的地址赋给指针,当该指针指向其他字符串时,只需将该字符串的第一个元素地址赋给这个指针即可,和字符串的长度没有关系,选项B也是正确的。指针变量的值为元素的地址,和元素具体的值没有关系,当指针指向不同的元素时,存放的地址也会发生改变,故选项C是正确的。数组a初始化时没有指定数组长度,系统自动根据初值个数确定数组长度,题目中只是将10个有效字符存放到数组中,不能说明这个数组只能存放10个字符。