#include <stdio.h> ?#include <stdlib.h> ?#include <windows.h>?struct person{ char num[3]; ? ?//編號(hào) char name[20]; ? //姓名 char age[2]; ? ?//年齡 char sex[2]; ? ? //性別 char phone[12]; ? //電話 char adress[50]; ? //地址 char e_mail[20]; ? //電子郵件 char classify[10]; ?//分類名}per[100]; ? ? //最大數(shù)為100 ?int load()/*加載函數(shù)*/ ?{ ??FILE *fp;??int i; ??if((fp=fopen("person.txt","r"))==NULL)??{printf("\nCannot open file\n"); ??return 0;??} ??for(i=0;!feof(fp);i++) ??{fscanf(fp,"%s%s%s%s%s%s%s%s",&per[i].num,&per[i].name,&per[i].age,&per[i].sex,&per[i].phone,&per[i].adress,&per[i].e_mail,&per[i].classify); ??} ? ? ?fclose(fp);??return(i);?}int main() ?{ ?? int n,i;? ? n=load();? for(i=0;i<n;i++) ? { ? printf("%s ?%-7s %-2s %-2s %-12s %-50s %-20s %-10s\n",per[i].num,per[i].name,per[i].age,per[i].sex,per[i].phone,per[i].adress,per[i].e_mail,per[i].classify); } ? } ?
1 回答

goooool
TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
找到原因了,錯(cuò)誤的三個(gè)數(shù)組給的空間都太小了,沒地方放/0就自動(dòng)溢出尋找/0了。
- 1 回答
- 0 關(guān)注
- 990 瀏覽
添加回答
舉報(bào)
0/150
提交
取消