先粘原题
#include <stdio.h> int main() { int a = 'abc'; printf("%s\n", &a); return 0; }
输出结果为:cba
分析:
1,a为整型(表笑话,我开始就没留意);
2,'abc'被扩展为整型,整型在32位机上占用4个字节,因此a的实际内存分配为0x00616263;
3,如果为大端机,则a的实际排列为0x63626100,结尾正好为\0;如果为小端机,则为abc;
先粘原题
#include <stdio.h> int main() { int a = 'abc'; printf("%s\n", &a); return 0; }
输出结果为:cba
分析:
1,a为整型(表笑话,我开始就没留意);
2,'abc'被扩展为整型,整型在32位机上占用4个字节,因此a的实际内存分配为0x00616263;
3,如果为大端机,则a的实际排列为0x63626100,结尾正好为\0;如果为小端机,则为abc;