C/C++ code #include<stdio.h> int main() { int a='abc'; printf("%s\n",&a); //printf(&a); } 针对上面问题的经典回答。(非本人回答,感觉不错,就拿过来与大家一起学习学习),这个问题是与大小端有关系的,我们现在用的一般都是小端机,因此会出现上面的情况。 int a='abc'; 编译器会将'abc'扩展为int,它的值为 6382179 即0x00616263 而intel int内存的实际存储格式是低位在前,所以实际a指向的内容为 0x63626100 如果按字串输出,正好是 cba 且正好是以\0结尾