有以下程序 main() { char a,b,c, *d; a='\';b='\xbc'; c='\0xab';d="\0127"; cout<<a<<b<<c<<*d<<endl; } 编译时出现错误,以下叙述中正确的是A.程序中只有a='\=;语句不正确B.b='\xbc';语句不正确C.d="\0127";语句不正确D.a='\';和c='\0xab';语句都不正确

题目

有以下程序 main() { char a,b,c, *d; a='\';b='\xbc'; c='\0xab';d="\0127"; cout<<a<<b<<c<<*d<<endl; } 编译时出现错误,以下叙述中正确的是

A.程序中只有a='\=;语句不正确

B.b='\xbc';语句不正确

C.d="\0127";语句不正确

D.a='\';和c='\0xab';语句都不正确


相似考题
更多“有以下程序 main() { char a,b,c, *d; a='\';b='\xbc'; c='\0xab';d="\0127"; ”相关问题
  • 第1题:

    有以下程序: include point ( char * p) {p + = 3; }main( ) char b[4] = {'a','b','c

    有以下程序: #include <stdio.h>point ( char * p) { p + = 3; }main( ) char b[4] = {'a','b','c','d'} , *p=b; point(p); printf( "% c \n" , * p);

    A.a

    B.b

    C.c

    D.d


    正确答案:A
    解析:C函数的参数传递方式采用按值传递,不能通过调用函数改变形参指针本身的值,只能改变指针所指变量的值。调用point函数时,将实参指针p的值(b数组的首地址)传给了形参指针P,P+=3运算使形参指针指向字符d,但并不能改变main函数中p的值,所以本题正确答案应该是选项A)。

  • 第2题:

    有以下程序include.main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));} 程

    有以下程序 #include.<string.h> main() { char *p="abcde\ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是

    A.12

    B.15

    C.6

    D.5


    正确答案:D
    解析:本题首先定义了一个字符型指针变量p,并用一个宇符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。字符串的结束标记为“\0”,其长度为“\0”前的字符个数,故长度为5。所以4个选项中D正确。

  • 第3题:

    有以下程序 main() { char a,b,c,*d; a='\';b='\xbc'; c='\0xab';d="\0127"; pfintf("%c%c%c%c\n",a,b,c,*d) ; } 编译时出现错误,以下叙述中正确的是

    A.程序中只有a='\';语句不正确

    B.b='\xbc';语句不正确

    C.d="\0127";语句不正确

    D.a='\';和c=,'0xab';语句都不正确


    正确答案:D
    解析:给字符变量赋值只能赋一个字符,包括转义字符,语句“a='\'”是错误的,因为“\”是转义字符,应该用“\\”来表示,语句“B='\xbe';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量;语句“c=\0xab;”是正确的,反斜线后的十六进制只可由小写x开头,不能用0x。语句“d=”\0127“;”是正确的,可以给字符型指针变量赋一个字符串,其作用是让该指针变量指向该字符串。

  • 第4题:

    有以下程序 main() { char a,b,C,*d; a='\'; b=\\xbc'; c='\0xab'; d="\0127"; princf("%c%c%c%c\n",a,b,c,*D) ; } 编译时出现错误,以下叙述中正确的是

    A.程序中只有a='\';语句不正确

    B.b='\xbc';语句不正确

    C.d="\0127":语句不正确

    D.a='\';和c='\0xab';语句都不正确


    正确答案:D
    解析:给字符变量赋值只能赋一个字符,包括转义字符,语句“a='\'”是错误的,因为“\”是转义字符,应该用“\\”来表示,语句“B='\xbc';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量,故选项B不为所选;语句“c=\0xab;”是正确的,反斜线后的十六进制只可由小写x开头,不能用Ox。语句“d="\0127";”是正确的,可以给字符型指针变量赋一个字符串,其作用是让该指针变量指向该字符串,故选项C不正确。所以,D选项为所选。

  • 第5题:

    有以下程序: main() { char a,b,c,*d; a='\';b='\xbc'; c='\0xab';d="\017"; printf("%c%c%c\n",a,b,c,*d); } 编译时出现错误,以下叙述中正确的是( )。

    A.程序中只有“a='\';”语句不正确

    B.“b='\xbc';”语句不正确

    C.“d="\0127";”语句不正确

    D.“a='\';”和“c='\0xab';”语句都不正确


    正确答案:D
    解析:语句a='\'是错误的,因为\是转义字符,应该用\\来表示,语句“B='\xbc';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量;语句“c=\0xab;”是错误的,反斜线后的十六进制只可由小写x开头,不能用0x。语句“d="\0127";”是正确的,可以给字符型指针变量赋一个字符串常量,其作用是让该指针变量指向该字符串常量。所以,D选项为所选。