cout与printf输出变量地址时出现的问题,求解答
年青人阿本 2013-10-13 05:15:26 #include <iostream>
#include <stdio.h>
using namespace std;
void main()
{
char ss[]="abcd";
printf("%0x\n",ss);
cout<<&ss<<endl;
printf("%0x\n",&ss);
cout<<"---------------"<<endl;
char* a=ss;
printf("%0x\n",a);
cout<<&a<<endl;
printf("%0x\n",&a);
}
显示如下:
12ff78
0012FF78
12ff78
---------------
12ff78
0012FF74
12ff74
我想问的是:1,前面printf函数里ss与&ss值为什么是一样的?
2,为什么前面ss与&ss值是一样的,后面printf函数里a与&a又不同了?
3,为什么ss赋值给a地址,用cout输出结果两个的值不一样?