[求助]还有一个结构体写入的题,以前不知道还有这样的语句,见笑哈
在C语言中,设有以下结构体类型:
struct st
{
char name[8];
int num;
float s[4];
}student[50];
并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以
下不正确的形式是( )。
A. fwrite(student,sizeof(struct st),50,fp);
B. fwrite(student,50*sizeof(struct st),1,fp);
C. fwirte(student,25*sizeof(struct st),25,fp);
D. for(i=0;i<50;i++)
fwrite(student+i,sizeof(struct st),1,fp);
----------------解决方案--------------------------------------------------------
不好意思```没学过文件```
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
char a[7]= "abcxyz";
char b[4]= "ABC";
strcpy (a,b);
printf("%c",a[5]);
}
那帮忙看看这个呵呵
结果是z 怎么得出来的? 没有拷贝吗
----------------解决方案--------------------------------------------------------
C. fwirte(student,25*sizeof(struct st),25,fp);
四个相互比较,看存入的空间哪个和另外三个不同就选哪个
----------------解决方案--------------------------------------------------------
strcpy (a,b);
只是将a中的abc换成了ABC,其它的元素没有动
----------------解决方案--------------------------------------------------------
But 你直接输出printf("%s",a);你看看,意外的惊喜.
或者把a[3]输出.
----------------解决方案--------------------------------------------------------
[QUOTE]#include <stdio.h>
void main()
{
char a[7]= "abcxyz";
char b[4]= "ABC";
strcpy (a,b);
printf("%c",a[5]);
}
[QUOTE]
a[6]=[ 0 1 2 3 4 5 ]
strcpy 后 a[]={A,B,C,'\0',y,z}
[此贴子已经被作者于2007-10-19 15:05:13编辑过]
----------------解决方案--------------------------------------------------------
a[3]不应该是\0吗
----------------解决方案--------------------------------------------------------
他告诉你数组是从0开始记数的.
----------------解决方案--------------------------------------------------------
输出a为什么是x?
这个a不是地址吗?
----------------解决方案--------------------------------------------------------