以下程序的输出结果是()。#include<stdio.h>structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=aa;printf("%d",++p->x);printf("%d",(++p)->x);printf("%d\n",++(*p->y));}
++p->x指的是++(p->x),所以p数据域x的值自增。 (++p)->x是p自增后再p的数据域x的值。++(*p->y)是指p的数据域y所指的对象自增。
以下程序的输出结果是intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}voidmain(){inta=3;printf("%d\n",fun(a+fun(d)));}( )
有全局变量d,fun函数中有静态局部变量d,第一次调用fun函数,形参是1,d=6,输出6;第二次调用fun函数,形参是9,d=15,输出15;最后在main函数中的对函数返回值输出15。
以下程序的输出结果是( )intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}voidmain(){inta=3;printf("%d\n",fun(a+fun(d)));}
有全局变量d,fun函数中有静态局部变量d,第一次调用fun函数,形参是1,d=6,输出6;第二次调用fun函数,形参是9,d=15,输出15;最后在main函数中的对函数返回值输出15。
若有说明:inta=2,*p=&a,*q=p;,则以下非法的赋值语句是()。
a是整型数,int*p,*q定义了指针,p,q是指向整型的指针。p取得a的地址,而q取得p的地址,p,q是指针(也就是一个地址),而*p和*q是这个指针指向的整型数值(存放在这个地址的值)。A)把q的地址赋给p,则p和q完全一样了,都指向一...
以下程序的输出结果是()。#include<stdio.h>structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=aa;printf("%d",++p->x);printf("%d",(++p)->x);printf("%d\n",++(*p->y));}
++p->x指的是++(p->x),所以p数据域x的值自增。 (++p)->x是p自增后再p的数据域x的值。++(*p->y) 是指p的数据域y所指的对象自增。