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

admin2020-11-27  11

问题 有以下程序:
#include<stdio.h>
struct st
{
  int x,y;
}data[2]={1,10,2,20};
main()
{
  struct st*P=data:
  printf("%d",1)一>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},幽ta[1]={2,20}。结构体指针p指向数组的首地址,指向data[0],++p则指向data[1],所以输出p一>y和(++p)一>x即输出data[0].y和data[1].x。
转载请注明原文地址:https://kaotiyun.com/show/ei3p777K
0

最新回复(0)