关于c++中字符变量的·问题:char i='abcd';怎么把abcd这个字面量赋...
发布网友
发布时间:2024-09-25 17:32
我来回答
共3个回答
热心网友
时间:2024-11-22 00:27
第一次没看懂你说什么,但是觉的你说的东西很有意思,我再自已的电脑上试了一次之后就知道了。
'a' 保存为char
'ab' 保存为int
'abc' 保存为int
'abcd' 保存为int
'abcde' 错误“常量中的字符太多”
可以这样理解:被单引号包含的值会被解试为常量,解试的规则就如上面所显试的,你一定能看明白。
在大多数PC机中:
'abcd'在内存中保存为 'd' 'c' 'b' 'a'
"abcd"在内存中保存为 'a' 'b' 'c' 'd' '\0'
这是一个规则,如果你已经知道,那就太好了,如果现在还不知道,以后学习多了也会知道。
如果你看懂了上面,就明白了为什么 “char i = 'abcd'; // i” 值为'd' 了。那我很高兴可以帮到你。
如果你没有看懂,我抱歉帮不了你,希望你继续学习,你一定可以依靠自已的力量解决这个问题的。
热心网友
时间:2024-11-22 00:25
单引号括起来的字符串,实际为16进制的int型整数常量。
char i='abcd',a的ASCII码为61,所以相当于char i=0x61626364,而由于char只有一个字节,所以i=64,如果你用的是int i =0x61626364,那么结果就是1633837924
热心网友
时间:2024-11-22 00:33
unsigned int j=('a'<<24)+('b'<<16)+('c'<<8)+'d';