有以下程序: #include<stdio.h> struct st { int x,Y; }data[2]={1,10,2,20}; main( ) { struct st*p=data; printf("%d",p->y); printf("%d\n"

admin2022-06-24  31

问题 有以下程序:
#include<stdio.h>
struct st
{
int x,Y;
}data[2]={1,10,2,20};
main( )
{
struct st*p=data;
printf("%d",p->y);
printf("%d\n",(++p)->x);
}
程序运行的结果是(          )。

选项 A、10 1
B、20 1
C、10 2
D、20 2

答案C

解析 题目在定义结构体st的同时便定义了结构体数组data。可知data[0]={1,10}·data[1]={2,20)。结构体指针p指向数组的首地址,指向data[0],++p则指向data[1],所以输出p->y和(++p)->x即输出data[0].y和data[1].x。
转载请注明原文地址:https://kaotiyun.com/show/dLkp777K
0

最新回复(0)