亚信联创笔试题
#include<iostream>
using namespace std;
int main()
{
int b=0;
int a[5]={0,1,2,3,4};
for(int i=0;i<5;)
{
i=a[i+1];
cout<<a[i]<<endl;
}
return 0;
}
输出是什么?
我在VC6.0上运行是死循环,一直输出0 1 2 3 4 0 1 2 3 4...
然后我改了下这个程序变为
#include<iostream>
using namespace std;
int main()
{
int b=0;
int a[5]={0,1,2,3,4};
/*for(int i=0;i<5;)
{
i=a[i+1];
cout<<a[i]<<endl;
}*/
for(int i=0;i<5;i++)
cout<<&a[i]<<" ";
cout<<&a[5];
cout<<endl;
cout<<&b<<endl;
return 0;
}
在我的机子上输出的地址为
0012FF68 0012FF6C 0012FF70 0012FF74 0012FF78 0012FF7C
0012FF7C
Press any key to continue
即A[5]的地址和b的地址是一样的,这是为什么?
请高手赐教