设有如下定义char*S[2]={“abcd”,”ABCD”};则以下说法正确的是()A、S数组中数组元素的值分别是“abcd”,”ABCD”B、S是指针变量,它指向含有两个数组元素的字符型一维数组C、S数组的两个元素分别存放的字符’a’和’A’D、S数组的两个元素分别存放的字符串“abcd”和”ABCD”的首地址

题目
设有如下定义char*S[2]={“abcd”,”ABCD”};则以下说法正确的是()

A、S数组中数组元素的值分别是“abcd”,”ABCD”

B、S是指针变量,它指向含有两个数组元素的字符型一维数组

C、S数组的两个元素分别存放的字符’a’和’A’

D、S数组的两个元素分别存放的字符串“abcd”和”ABCD”的首地址


相似考题
参考答案和解析
参考答案:D
更多“设有如下定义char*S[2]={“abcd”,”ABCD”};则以下说法正确的是() ”相关问题
  • 第1题:

    已知函数定义如下,函数abed的功能是( )。 abcd(char *s1,char *s2) { while(*s2++=*s1++); }

    A.串复制

    B.求串长

    C.串比较

    D.串反向


    正确答案:A
    解析:函数abcd()中只有一个没有循环体的while循环,其循环条件是*s2++=*s1++,即只要s1所指内容不为0循环就会继续,并且每次执行循环条件时将s1所指内容赋给s2所指地址,然后两者同时增1,故该函数完成的是将s1所指字符串复制到s2所指地址中。应该选择A。

  • 第2题:

    下列判断正确的是( )。

    A.char a="ABCD";等价于char*a;*a="ABCD";

    B.char str[10]={"ABCD");等价于char str[10];str[]={"ABCD");

    C.char*s="ABCD";等价于char s;*s="ABCD";

    D.char c[5]="ABCD",d[5]="ABCD";等价于char c[5]=d[5]="ABCD";


    正确答案:D
    解析:a="ABCD"书写错误,因为“=”左边不能出现常量;数组名s是代表s数组首地址的地址常量,而不是变量;字符串只有在定义时维数可以省略。

  • 第3题:

    假设有定义 char s1[20]="1234567" ,s2[20]={"ABCD"};,则执行strcpy(s1,s2)后,s1的内容为“ABCD”


    A A。【解析】C语言中strlen函数的功能是返回字符串的长度,其中\0是一个转义字符,它占存储空间,但不计入字符串的长度。所以选项A正确。

  • 第4题:

    下列判断正确的是( )。

    A.chara="ABCD";等价于char*a;*a="ABCD";

    B.char str[10]={"ABCD"};等价于char str[10];str[]={"ABCD"};

    C.char*s="ABCD";等价于char s;*s="ABCD";

    D.charc[5]="ABCD",d[5]="ABCD";等价于char c[5]=d[5]="ABCD";


    正确答案:D
    解析:a="ABCD"书写错误,因为“;”左边不能出现常量;数组名s是代表s数组首地址的地址常量,而不是变量;字符串只有在定义时维数可以省略。

  • 第5题:

    下列判断正确的是( )。

    A.char a="ABCD":等价于char*a;*a="ABCD":

    B.char str[10]={"ABCD"}:等价于char str[10];str []={"ABCD"};

    C.char*s="ABCD":等价于char s;*s="ABCD";

    D.char c[5]="ABCD",d[5]="ABCD":等价于char c [5]-d[5]="ABCD";


    正确答案:D
    a=“ABCD”书写错误,因为“=”左边不能出现常量;数组名S是代表S数组首地址常量,而不是变量;字符串只有在定义时维数可以省略。