有以下程序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"; cout<<a<<b<<c<<*d ”相关问题
  • 第1题:

    以下程序的输出结果是()。includeusing namespace std;void fun(char**q){++q;cout<<*

    以下程序的输出结果是( )。 #include<iostream> using namespace std; void fun(char**q) { ++q; cout<<*q<<end1; } main() { static char*s[]={"HI","HELL0","TEST"}; char**p; p=s; fun(p); system("PAUSE"); return 0; }

    A.为空

    B.HI

    C.HELL0

    D.TEST


    正确答案:C
    解析:由程序main主函数入手,调用fun函数,在fun函数中执行“cout*qend1;”语句实现程序输出。主函数中变量char*s[]为指针数组,char**p表示p指向的字符指针数据。*p就代表p指向的字符指针。语句“p=s;”表明p指向字符指针s,而**p则是s[]中的第一个字符串“HI”。主函数将变量p传值给函数fun(char**q)中的q,在函数体内部首先执行“++q”语句,就是将q的指针指向s中的下一个字符串,即“HELL0”,所以输出语句“cout*qend1;”输出该字符串值。

  • 第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"; cout<<a<<b<<c<<*d<<endl; } 编译时出现错误,以下叙述中正确的是

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

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

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

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


    正确答案:D
    解析:本题考察C++中各种类型在输出时的转化关系。斜杠为转义控制字符,其后必须紧跟一个字符,故首先可以确定的是a的赋值语句是错误的,根据选项我们直接看c的赋值语句是否正确。斜杠后跟。表示其后为八进制,其值从0到7,因此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选项为所选。