问题 单项选择题

有以下程序#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是正确的。

问答题
单项选择题