C语言转移字符常量的十六进制能以"0x"开头吗?
发布网友
发布时间:2024-10-08 04:49
我来回答
共4个回答
热心网友
时间:2024-10-16 15:46
1、16进制常数的表示,以0x或0X开头
2、转义字符中的16进制数,以x开头,不能以X开头
3、单字符数据中,反斜杠后面跟0,若其后有0-7的数字跟随,则表示其后的数是8进制数,若有其它数或字符跟随,则属于错误(但编译不一定报错,会自动取最后一个字符)
4、反斜杠后可以直接跟0-7间的数字,视为8进制数,最多三个,可以少于3个。
测试代码如下,供学习研究:
#include <stdio.h>
int main()
{
int x=0x01;
int y=0Xff;
char ch1='\x41';
char ch2='\X42'; //错误,ch2实际赋值为'2' VC编译有警告 warning C4129: 'X' : unrecognized character escape sequence
char a='\07';
char b='\0a'; //错误,b实际赋值为'a' VC编译无警告
char c='\0' ;
char d='\123';
printf("x=%#X y=%#X\n", x,y );
printf("ch1=%#x\n", ch1 );
printf("ch2=%#x\n", ch2 );
printf("a=%#x b=%#x c=%#x d=%#x\n", a,b,c,d );
return 0;
}
热心网友
时间:2024-10-16 15:43
在字符串里用反斜线,比如:
"abcdefg\x68"
转义后为abcdefg
在编程语句中 某一16进制的数用0x开头
如0xff 不能写成ff
热心网友
时间:2024-10-16 15:45
试试不就知道了吗?
热心网友
时间:2024-10-16 15:50
可以的