C语言//结构体问题合集

1.有如下定义:

struct

{ int x;

char *y;

}table[2]={{10,”ab”},{20,”ch”}},*p=table;

void main()

{ printf(“%d”,(*p++).x);

printf(“%c”,*p->y);

printf(“%d\n”,++*p->y);

}

则程序的结果是
2.有如下定义:

struct

{ int x;

int y;

}s[2]={{1,6},{3,9}}, *p=s;

则以下表达式的结果是(各句彼此独立,无顺序关系):

p->y++的结果是___________________________

(++p)->y的结果是____________________________

++p->x的结果是______________________________

(++p)->x的结果是____________________________
3.以下程序的执行结果是_____________________

struct stru

{ int x;

char ch; };

void main()

{ struct stru a={10,’x’} ,*p=&a;

func(p);

printf(“%d,%c\n”, a.x , a.ch);

}

func(struct stru *b)

{ b->x=200;

b->ch=’y’;  

}
4.以下程序的执行结果是____________________

struct mn

{ int x , *y;

} *p;

int a[ ]={15,20,25,30};

struct mn aa[]={35,&a[0],40,&a[1],45,&a[2],50,&a[3]};

void main()

{ p=aa;

printf(“%d”,++p->x);

printf(“%d”,(++p)->x);

printf(“%d\n”,(*p->y));

}

10 c 100

第一题:10 c 104