#include <stdio.h>
#include <stdlib.h>
struct student_info
{
char snum[20];
char sname[30];
char sclass[30];
};
typedef struct student_info stu;
int main(void)
{
stu p1[10];
FILE *fp=NULL;
int i,x;
fp=fopen("students.txt","r");
if(fp==NULL)
{ printf("\n檔案打開失敗。");
return 0;
}
i=0;
fscanf(fp,"%s%s%s",&p1[i].snum,&p1[i].sname,&p1[i].sclass);
while(feof(fp)==0)
{
printf("%s\t%s\t%s\n",p1[i].snum,p1[i].sname,p1[i].sclass);
i++;
fscanf(fp,"%s%s%s",&p1[i].snum,&p1[i].sname,&p1[i].sclass);
}
printf("\n\n------------------------\n");
while(1)
{
printf("被點到的學生是:");
x=rand()%10;
print("%s\t%s\t%s\n",p1[x].snum,p1[x].sname,p1[x].sclass);
system("pause");
}
fclose(fp);
return 0;
}
為什么老是提示(.text+0x2da): undefined reference to `print'
[Error] ld returned 1 exit status
我把while(1)那段洗掉之后就可以正常運行了,是什么問題呢?
uj5u.com熱心網友回復:
print改為printfuj5u.com熱心網友回復:
#include <stdio.h>
#include <stdlib.h>
struct student_info
{
char snum[20];
char sname[30];
char sclass[30];
};
typedef struct student_info stu;
int main(void)
{
stu p1[10];
FILE *fp=NULL;
int i,x;
fp=fopen("students.txt","r");
if(fp==NULL)
{ printf("\n檔案打開失敗。");
return 0;
}
i=0;
//fscanf(fp,"%s%s%s",&p1[i].snum,&p1[i].sname,&p1[i].sclass);
fscanf(fp,"%s%s%s", p1[i].snum, p1[i].sname, p1[i].sclass);
while(feof(fp)==0)
{
printf("%s\t%s\t%s\n",p1[i].snum,p1[i].sname,p1[i].sclass);
i++;
//fscanf(fp,"%s%s%s",&p1[i].snum,&p1[i].sname,&p1[i].sclass);
fscanf(fp,"%s%s%s",p1[i].snum,p1[i].sname,p1[i].sclass);
}
printf("\n\n------------------------\n");
while(1)
{
printf("被點到的學生是:");
x=rand()%10;
//print("%s\t%s\t%s\n",p1[x].snum,p1[x].sname,p1[x].sclass);
printf("%s\t%s\t%s\n",p1[x].snum,p1[x].sname,p1[x].sclass);
system("pause");
}
fclose(fp);
return 0;
}
供參考~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77462.html
標籤:C語言
上一篇:求大佬幫我看道題
下一篇:用下面的 scanf 函式輸入資料,使 a=10,b=12,c1='B',c2='b',x=2.6,y=-3.89,z=6.7,考慮在鍵盤上如何輸入資料?
