请问这个二级c语言考试题怎么做?
发布网友
发布时间:2024-10-23 22:48
我来回答
共2个回答
热心网友
时间:2024-11-09 12:41
a='\';
//这个错误是因为\在C语言中有特殊含义,是转义符的开始字符。正确的写法为:a='\\';
如一楼,'\'本身是转义字符的标志,就好像是关键字一样,被编译器占用,无法赋值给a;
b='\xbc';
//这个完全正确,表示bc是十六进制。
如一楼,这个解释完全正确,是十六进制;
c='\0xab';
//以'\'开头,表示是八进制,0在0-7符合,
x不在0-7,a也不在0-7,属于溢出,不会被编译器识别;b怎么被处理,不清楚
d="\0127";
//这个完全正确
d是指针,所以d="\0127"表示将字符串“\0127”的首地址赋值给d,
printf ("%d",d);则d将是一个非常随即地址值;
另注意'\012' 表示一个八进制数,'\012'=='\n';(转义字符:换行);
所以最后printf("%s",d); 7(7是字符char,不是int);
/xxy /xyz这种表示八进制和十六进制,在编译器里,默认紧跟在后面的三位(八进制),
16进制是紧跟后面两位,\x 和 \ 区别;
毕竟ASCII只有 256
热心网友
时间:2024-11-09 12:46
a='\'; //这个错误是因为\在C语言中有特殊含义,是转义符的开始字符。正确的写法为:a='\\';
b='\xbc'; //这个完全正确,表示bc是十六进制。
c='\0xab'; //这个在某些编译系统中有警告。
d="\0127";//这个完全正确。
补充:
//我说的与答案一致啊,怎么说没有说呢?