有以下程序 #include<stdio.h> struct ord { int x,y;} dt[2]={1,2,3,4}; mare() { struct ord*p=dt;

admin2009-09-28  22

问题 有以下程序        #include<stdio.h>        struct ord        { int x,y;} dt[2]={1,2,3,4};        mare()        {  struct ord*p=dt;           printf("%d,",++p->x);  printf("%d\n",++p->y);        }        程序的运行结果是______。

选项 A、1,2
B、2,3
C、3,4
D、4,1

答案B

解析 本题主要考查了结构体变量成员的引用,有三种形式来引用结构体变量中的成员:(1)结构体变量名.成员名:(2)指针变量名->成员名;(3)(*指针变量名).成员名。其中点号“.”称为成员运算符;箭头“->”称为结构指向运算符。由于p->x指向了结构体的的成员x,而结构体中x的值为1,因此自增后变为2,p->y指向了结构体的成员y,而结构体中y的值为2,因此自增后变为3,因此,选项B是正确的。
转载请注明原文地址:https://jikaoti.com/ti/AHI0FFFM
0

最新回复(0)