C语言菜鸟问题(7)
没有说明语句:char a='\72'; 则变量a包含___个字符 答案是2个字符 另外一道题目: char b='\123';变量b包含___个字符 答案是1个字符 为什么?包含几个字符是怎样定义的?
这样来说吧,这是一个涉及到转义字符的概念,在C中,转义字符是一个特殊的字符常量,就是说它们不表示原来的意思,转义字符以反斜线"\"开头,后跟一个或几个字符,却只算一个字符,如上您说的\123,它所代表的不是原来的意思123,而是一个八进制数所代表的字符,因此是一个字符,在做题中,我们通常记住少量的一些转义字符形式就可以,常用的有\n \t \b \r \f \\ \’ \'' \a (以上是字符型的,即“\”后跟字符)下面是后跟数字型的\ddd \xhh(d和h分别是八进制和16进制中的数字)例如\123 \034 \x0a \x23(很明显,转义字符都是“\”后接三位数字的,那么您上面所说\72也就不是转义字符,而是 '\'和'72'两个字符组成)
答:add=(char *)0x100; 即可。不过这样一般只是在嵌入系统中当0x100地址有效时。在PC上,因为0x100地址已经被系统占用了,你不能直接用。否则...详情>>