目录: 标题| 题干| 答案| 搜索| 相关
问题

若有说明语句char a[]="It is mine";char *p="I


若有说明语句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个字符
参考答案
参考解析:

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

分类:其他
相关推荐

1、若有定义语句:char S[10]=”1234567\0\0”;则strle

若有定义语句:char S[10]=”1234567\0\0”;则strlen(s)的值是( )。A7B8C9D10

2、若有定义和语句: char s[10]:s=""abc

若有定义和语句:char s[10]:s=""abcd"";printf(""%sn"",s);则结果是(以下u代表空格)()A输出abcdB输出aC输出abcduuuuuD编译不通过

3、试题30若有定义语句: char *s1=”OK”, *s2=”ok”; ,

试题30若有定义语句: char *s1=”OK”, *s2=”ok”; , 以下选项中,能够输出”OK”的语句是()Aif(strcmp(s1,s2)==0) puts(s1);Bif(strcmp(s1,s2)!=0) puts(s2);Cif(strcmp(s1,s2)==1) puts(s1);Dif(strcmp(s1,s2)!=0) puts(s1);

4、There is a drifting mine()in position

There is a drifting mine()in position 21 degrees 31 minutes North 124 degrees 20 minutes East.AreportBreportsCreportedDreporting

5、若有下列语句,则不能代表字符o的表达式是()。chars[20]=”prog

若有下列语句,则不能代表字符o的表达式是()。chars[20]=”programming”,*ps=s;Aps2Bs[2]Cps[2]D*(ps+2)

6、若有定义和语句:int a,b;scanf("%d,%d"

若有定义和语句:int a,b;scanf("%d,%d",&a,&b);以下选项中的输人数据,不能把值3赋给变量a、5赋给变量b的是( )。A3,5,B3,5,4C3,5D3,5