#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结尾
#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结尾