char str = '1.2.';问题
偶然看到群里老哥问道这个问题
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 char str = '1.2.'; 7 8 return 0; 9 }
什么?char 还可以赋值字符串的?单引号还可以容纳如此多的字符?
结果
输出 . 就是点
换成其他的如:1.23,输出3
我找汇编看了一下
再结合一下汇编中的大端存大值来看的确是这样。
在内存中,上面字符串中1.28 实际上 8是在低地址端,用byte去取的时候先取到了 8 ,输出。