更多“若有chara[80],b[80];则正确的是()。 ”相关问题
  • 第1题:

    若有定义:char *st= "how are you "; 下列程序段中正确的是A.char a[11], *p; strcpy(p=a+1,&

    若有定义:char *st= "how are you "; 下列程序段中正确的是A.char a[11], *p; strcpy(p=a+1,&st[4]);B.char a[11]; strcpy(++a, st);C.char a[11]; strcpy(a, st);D.char a[], *p; strcpy(p=&a[1],st+2);


    正确答案:A
    本题综合考查字符数组的赋值和strcpy函数的用法。C语言不允许用赋值表达式对字符数组赋值,如下面的语句就是非法的:str1="China",如果想把“China”这5个字符放到数组str1中,除了逐个输入外,还能使用strcpy函数,该函数的功能是将一个字符串复制到一字符数组中。例如,strcpy(str1,"China");或strcpy(str1,str2);注意,不能企图用以下语句来实行赋值(将str2的值传给str1):str1=str2;不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
    strcpy函数的结构是:strcpy(字符数组1,字符串2)
    其中,需要注意的是,字符数组1的长度不应小于字符串2的长度,“字符数组1”必须写成数组名形式,如(str1),“字符串2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。

  • 第2题:

    char a=0x80; 请写出a 的真值


    mov 0x80498c0( , %ecx, 4), %eax

  • 第3题:

    下列程序段正确的是:

    A.char a[80];a="Hello world!";

    B.char a[10]= "Hello world!";

    C.char a[80];scanf("%s",a[0]);

    D.char a[80];scanf("%s",a);


    C

  • 第4题:

    若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为( )。A.A. float SXB

    若有以下定义:

    char a;int b;

    float c;double d;

    则表达式a*b+d-c值的类型为( )。

    A.A. float

    B.int

    C.char

    D.double


    正确答案:D
    在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

  • 第5题:

    若有声明语句:char a;则下面的语句是否正确() a=1000;


    B 转义字符以一个反斜线开头后跟一个特定的字符,可以利用'\\ddd'3位八进制数代表的一个ASCⅡ字符,也可以'\\xhh'2位十六进制数代表的一个ASCⅡ字符。选项A中的八进制表示出现字符8,非法。