#include < stdio.h > int main() { int a = ' abc ' ; printf( " %s\n " , & a); // printf(&a); }
结果是什么: ??
结果是cba:
为什么?
int a='abc';
编译器会将'abc'扩展为int,它的值为
6382179 即0x00616263
而intel int内存的实际存储格式是低位在前,所以实际a指向的内容为
0x63626100
如果按字串输出,正好是
cba
且正好是以\0结尾
编译器会将'abc'扩展为int,它的值为
6382179 即0x00616263
而intel int内存的实际存储格式是低位在前,所以实际a指向的内容为
0x63626100
如果按字串输出,正好是
cba
且正好是以\0结尾