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));
}