C语言问题解答,\x42和0x42是什么意思?

有这样一段C语言程序代码:

#include<stdio.h>

main()
{
char c;

c='B';

putchar(c);

putchar('\x42'); /*输出字母B*/

putchar(0x42); /*直接用ASCII码输出字母B*/

}
其中\x42和0x42是什么意思?

这是两种不同的表达方式,其值均为16进制的42,即10进制的66。
二者应用范围不同:
1 \x42用于字符表达,或者字符串表达。为16进制转义字符形式。
用于字符表达时为'\x42', 而用于字符串中,可以与其它字符混用,如"ab\x42cd"。

在用于字符表达时,其代表ASCII码值为0x42的字符,即大写字母B。
\x42的数据类型为char型。

2 0x42为整型常数。
代表一个整型数值,没有其它含义。
当写作0x42时,默认数据类型为int型。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-25
都表示16进制的42,十进制就是66。
所以没区别,只是表示方法不一样而已。
第2个回答  2014-09-16
\x42是十六进制数的66,也就是ascii里的B,同理0x42也是十六进制本回答被提问者采纳
相似回答