题目内容

指针变量p进行自加运算(即 执行p++;)后,地址偏移值为2,则其类型为()。

A. int
B. float
C. double
D. char

查看答案
更多问题

结构体类型的定义允许嵌套是指( )。

A. 成员是已经或正在定义的结构体类型
B. 成员可以重名
C. 结构体类型可以派生
D. 定义多个结构体类型

//指针基本操作示例//输入两个数,并使其按从大到小顺序输出。//请选择空白位置的正确内容#include int main( ){int a,b,*p1,*p2,*p;printf("\n请输入两个整数:");scanf("%d%d",&a,&b);________//p1指向ap2=&b;//p2指向bif(*p1<*p2)//p1所指向的对象的内容小于p2所指向的对象的内容则交换{p=p1;p1=p2;p2=p;//通过指针变量p交换p1和p2,从而交换它们所指向的对象}printf("a=%d,b=%d\n",a,b);printf("max=%d,min=%d\n",*p1,*p2);return 0;}

A. &p1=a;
B. *p1=a;
C. p1=a;
D. p1=&a;

//指针基本操作示例//输入两个数,并使其按从大到小顺序输出。//请选择空白位置的全部正确答案#include int main( ){int a,b;________printf("\n请输入两个整数:");scanf("%d%d",&a,&b);p1=&a;//p1指向ap2=&b;//p2指向bif(*p1<*p2)//p1所指向的对象的内容小于p2所指向的对象的内容则交换{p=p1;p1=p2;p2=p;//通过指针变量p交换p1和p2,从而交换它们所指向的对象}printf("a=%d,b=%d\n",a,b);printf("max=%d,min=%d\n",*p1,*p2);return 0;}

A. int p1,p2;
B. int *p1,p2;
C. int *p1,*p2;
D. int p1,*p2;

//指针与动态内存分配示例――单位人员信息管理//某单位职工基本情况表如表所示。由于职工众多,现计划开发一款软件以提高管理效率,要求先输入职工原始信息,计算出各人实发工资(=基本工资+奖金),再按职工编号升序排序后输出以方便查看。//请选择空白位置的正确内容#include #include #define N 300000int main(){struct info_type{int zgbh;//职工编号char bm[11]; //部门char xm[11]; //姓名char xb[3]; //性别char sfzh[19];//身份证号char zc[11]; //职称int jbgz;//基本工资int jj;//奖金int sfgz;//实发工资};int i,j,n;struct info_type *p;do//输入实际人数{printf("\n请输入职工总数(1--%d):",N);scanf("%d",&n);}while((n<1)||(n>N));//分配n+1份内存空间,每份大小为sizeof(struct info_type),多出的1份用于排序p=(struct info_type *)malloc((n+1)*sizeof(struct info_type));if(p==NULL)printf("\n内存空间的分配不成功!\n");else//内存分配成功,进行后续操作{printf("请逐个输入职工信息(职工编号 部门 姓名 性别 身份证号 职称 基本工资 奖金):\n");for(i=1;i<=n;i++){printf("No.%d:",i);scanf("%d%s%s%s%s%s%d%d",&p[i].zgbh,p[i].bm,p[i].xm,p[i].xb,p[i].sfzh,p[i].zc,&p[i].jbgz,&p[i].jj);p[i].sfgz=p[i].jbgz+p[i].jj;}for(j=1;jp[i].zgbh){p[0]=p[i];p[i]=p[j];p[j]=p[0];}printf("\n职工基本信息表如下(按职工编号升序排列):\n");for(i=1;i<=n;i++)printf("%10d%12s%12s%4s%20s%12s%6d%6d%6d\n",p[i].zgbh,p[i].bm,p[i].xm,p[i].xb,p[i].sfzh,p[i].zc,p[i].jbgz,p[i].jj,p[i].sfgz);________}system("pause");return 0;}

A. free(p);
B. p=NULL;
C. p==NULL

答案查题题库