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 = " \017 " ;
语句不正确
D.a = ' \ ' ;
和c = ' \0xab ' ;
语句都不正确
a = '' 题目应该是想输出斜杆符号(\),但是在c语言中如果要输出单个斜杆应该要写成: a = '\' ,因为默认一个\是转义字符的标识;所以不正确会报错
b = '\xbc' 这里\x是转义字符表示后面的值以16进制的方式进行输出 16进制bc对应的十进制就是188,正确不会报错
c = '\0xab'; 这里应该写成\xab就不会报错了,\0转义字符表示的是字符结尾,但是单引号只能是单个字符所以不正确,如果是字符数组
char c[] = {"abc\0abc"},这样就正确,后面的abc不会显示输出
d = "\017"; 这对应ASCII码值为15,输出语句是用指针指向这个对应的值,所以表示正确
希望对您有帮助,如果有那么一丢丢帮助帮忙采纳下谢谢!!!
A语法不准确。
C也是错误的,因为有多个字符
\是转义字符,所以给a赋值\的正确写法是 a='\';所以a = ' \ '这个语句是错误的。
\x表示后面的字符是十六进制数,所以B中b = ' \xbc '这个语句是正确的
\0表示后面的字符是八进制数,最多跟3位8进制数字,c = ' \0xab '这个语句中,\0是一个字符,a是一个字符,b是一个字符,所以 ' \0xab '包含了3个字符,但是c是char类型,所以这个语句是错误的。