标题:[求助] 遇到一个奇怪的事 求教
取消只看楼主
编程无限
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-5-7
 问题点数:0 回复次数:1 
[求助] 遇到一个奇怪的事 求教

#include<stdio.h> #include<iostream.h> #include<windows.h>

struct Student { int id; char name[30]; char sex; int score; }; void main() { FILE *fp; struct Student studentType[2],*p=studentType; int i; if((fp=fopen("d:\\thybare","wb"))==NULL) { printf("can not open file:\n"); exit(1); } for(i=0;i<2;i++) //如用指针 for(i=0;i<2;i++,p++) { printf("enter student id\n"); scanf("%d",&studentType[i].id); //为什么这里改成&p->id就 运行不行啊 fflush(stdin); printf("enter student name\n"); scanf("%s",studentType[i].name); //为什么这里改成p->name就 运行不行啊 fflush(stdin); printf("enter student sex\n"); scanf("%c",&studentType[i].sex); //为什么这里改成&p->sex就 运行不行啊 printf("enter student score\n"); scanf("%d",&studentType[i].score); ////为什么这里改成p->score就 运行不行啊 } if((fwrite(p,sizeof(struct Student),2,fp))!=2) { printf("can not write file:"); exit(1); } fclose(fp); if((fp=fopen("d:\\thybare","rb"))==NULL) { printf("can not open file:"); exit(1); } p=studentType; for(i=0;i<2;i++,p++) { if(fread(p,sizeof(struct Student),1,fp)==1) printf("%d\n%s\n%c\n%d\n",p->id,p->name,p->sex,p->score); else printf("can not read the file:"); } fclose(fp); }

搜索更多相关主题的帖子: void include file 
2005-06-26 11:08
编程无限
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-5-7
得分:0 
我上面的程序是正确的啊 ,输出的时候用的就是p-&gt;啊
所以*P=studentType应该对的吧?

不过如果改成旁边的注释就不对了

2005-06-26 18:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-21623-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044390 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved