有以下程序: #include<stdio.h> Struct st { int x,y; }data[2]={1,10,2,20}; main() { struct st*p=dat

admin2021-06-15  19

问题 有以下程序:
    #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://jikaoti.com/ti/EVz0FFFM
0

最新回复(0)