niusouti.com

对字符数组s赋值,不合法的一个是( )。A.char s[]="Beijing"B.char s[20]={"Beijing"}C.char s[20];s="Beijing"D.char s[20]={’B,’e’,’i’,’j’,’i’,’n’,’g’}

题目

对字符数组s赋值,不合法的一个是( )。A.char s[]="Beijing"B.char s[20]={"Beijing"}C.char s[20];s="Beijing"D.char s[20]={’B,’e’,’i’,’j’,’i’,’n’,’g’}


相似考题
更多“对字符数组s赋值,不合法的一个是( )。A.char s[]="Beijing"B.char s[20]={"Beijing"}C.char s[20] ”相关问题
  • 第1题:

    变量s的定义为“char *s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取(47)。

    A.char *p=s;

    B.char *p=&s;

    C.char *p;p=*s;

    D.char *p; p=&s;


    正确答案:A
    解析:按照要求,p应该定义为一个指向字符串的指针,它的值和s一样,所以选择A。

  • 第2题:

    下列选项中正确的语句组是 ______。

    A.char s[8];s={"Beijing"};

    B.char *s;s={"Beijing"};

    C.char s[8];s="Beiiing";

    D.char *s;s="Beijing";


    正确答案:D
    解析:C语言规定可以对字符指针变量直接赋字符串常量,但不能给字符数组直接赋字符串常量,对字符数组赋字符串常量应使用的是strcpy函数。正确答案为选项D。

  • 第3题:

    如下语句中实现数组指针声明的是?

    A.char (*s)[10];

    B.char *s[0];

    C.char *s[10];

    D.(char *)s[10];


    char (*s)[10];

  • 第4题:

    下列选项中正确的语句是

    A.char s[8]; s={"Beijing"};

    B.char*s; s ={"Beijing"};

    C.char s[8]; s="Beijing";

    D.char *s; s ="Beijing";


    正确答案:D
    解析:本题考核的知识点是字符欺组初始化及字符型指针的应用。字符数组初始化可以有两种方式:方式一,按单个字符的方式赋初值。方式二,把一个字符串作为初值赋给字符数组。比如:charch[5]=rabc”),选项A属于这种情况,但是选项A定义的字符数组长度为8,由于最后还要加一个“\0”做结束标志,所以赋给他的字符串长度应小于等于7,所以选项A不正确;在给字符数组赋初值的时候,应该用花括号“{”和“}”将字符串括起来,故选项C不正确。将字符型指针变量指向字符串也有两种方法,一是在定义指针变量时就给其赋初值,比如:char*p="student";二是给指针变量赋值,比如:p="student";(p已经被定义为字符型指针变量;),故选项D正确,而选项C中的花括号是多余的,应该去掉,所以,4个选项中选项D符合题意。

  • 第5题:

    下列选项中正确的语句是( )。

    A.char s[8]; s={"Beijng"};

    B.char *s; s={"Beijng"};

    C.char s[8]; s="Beijing";

    D.char *s; s="Beijing';


    正确答案:D
    解析:用字符串常量给数组赋值的形式有“chars[8]={"Beijng"};”或“chars[8]="Beijing"”,而没有选项A中的形式。选项C中的s是数组名为地址常量,不能被赋新值。选项D中s被定义为指针变量,s="Beijng"并不是把字符串的内容放入s中,而是把字符串在内存中的首地址赋值给s,故选项D正确,而选项B中的形式不存在。