一.选择题
1.有以下程序
#include <iostream>
using namespace std;
struct ord
{
int x,y;
}dt[2]={1,2,3,4};
int main()
{
struct ord *p=dt;
++(p->x);++(p->y);
cout<<p->x<<','<<p->y;
}
程序运行后的输出结果是
A)1,2 B)4,1 C)3,4 D)2,3
分析:指针p指向结构体变量首元素的地址。
2.以下程序的输出是( ) 。
#include <iostream>
using namespace std;
struct st
{
int x;
int *y;
} *p;
int dt[4]={ 10,20,30,40 };
struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
void main()
{
p=aa;
cout<<++(p->x);
}
A) 10 B) 11 C) 51 D) 60
分析:根据题目易知++(p->x)中,p指向结构体数组元素的第一个结构体元素变量,其变量对应的x值为50,则经过自加后50+1=51,即得答案51。
3