单选题有如下定义:struct st{ int a; float b;}x[10];FILE *fp;若文件已正确打开,且数组x的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。Afor(i=0; i10; i++) fwrite(x,sizeof(struct st), 1,fp);Bfwrite(x,10*sizeof(struct st), 1,fp);Cfwrite(x,sizeof(struct st), 10,fp);Dfor(i=0; i10; i++) fwrite(x[i],sizeof(struct st), 1,fp);
单选题
有如下定义:struct st{ int a; float b;}x[10];FILE *fp;若文件已正确打开,且数组x的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。
A
for(i=0; i<10; i++) fwrite(x,sizeof(struct st), 1,fp);
B
fwrite(x,10*sizeof(struct st), 1,fp);
C
fwrite(x,sizeof(struct st), 10,fp);
D
for(i=0; i<10; i++) fwrite(&x[i],sizeof(struct st), 1,fp);
参考解析
解析:
A项中,因为函数fwrite中第三个参数为1,即每次写入1个结构体数据,x是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。答案选择A选项。
A项中,因为函数fwrite中第三个参数为1,即每次写入1个结构体数据,x是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。答案选择A选项。
相关考题:
单选题有以下程序:#includemain(){ charc; while((c=getchar())!='') { switch(c-'2') { case0: case1:putchar(c+4); case2:putchar(c+4);break; case3:putchar(c+3); default:putchar(c+2);break; } } printf();}程序运行后从第一列开始输入以下数据:2473回车程序的输出结果是( )。A668977B4444C6677877D68766
单选题有以下程序段:scanf(%d%d%d,a,b,c);if(ab)a=b;if(ac)a=c;printf(%d,a);该程序段的功能是( )。A输出a、b、c中的最小值B输出a、b、c中的最大值C输出a的原始值D输出a、b、c中值相等的数值
单选题下列叙述中正确的是( )。A为了建立一个关系,首先要构造数据的逻辑关系B表示关系的二维表中各元组的每一个分量还可以分成若干数据项C一个关系的属性名表称为关系模式D一个关系可以包括多个二维表
单选题有以下程序:#include void fun(int *x,int s,int n){ int i; for(i=s;i=n;i--) *(x+i+3)=*(x+i);}main(){ int m[]={0,1,2,3,4,5,6,7,8,9},k; fun(m,10-4,3); for(k=0;k printf("%d",m[k]);}程序的运行结果是( )。A0123456345B0123453456C0123456666D0123454569
单选题有以下程序#include#defineSUB(X,Y)(X+1)*Ymain(){ inta=3,b=4; printf(%d,SUB(a++,b++));}程序运行后的输出结果是( )。A20B16C12D25
单选题有以下程序:#include main(){ int i,j,k,a=5,b=6; i=(a==b)?++a:--b; j=a++;k=b;printf(%d,%d,%d,i,j,k);}程序的运行结果是( )。A7,6,5B5,5,5C7,5,5D5,6,5