这里哪错了?有关TC的问题,高手帮帮

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:21:27
#define FORMAT"%d\n%s\n%f\n%f\n%f\n"
struct student
{int num;
char name[20];
float score[3];
}stu={12345,"li li",67.5,89,78.6};
main()
{void print(struct student *);
print(&stu);}
void print(struct student *p)
{printf(FORMAT,p->num,p->score[0],p->score[1],p->score[2]);
printf("\n");}

调试时出现:linker error:unable to open inut file 'COS.OBJ'
为什么会这样,该怎样做才对,刚刚下载的TC装上的

#define FORMAT"%d\n%s\n%f\n%f\n%f\n"

struct student
{int num;
char name[20];
float score[3];
}stu={12345,"li li",{67.5,89,78.6}};
main()
{void print(struct student *);
print(&stu);}
void print(struct student *p)
{printf(FORMAT,p->num,p->name,p->score[0],p->score[1],p->score[2]);
printf("\n");
}
程序替你改下,上面"%d\n%s\n%f\n%f\n%f\n"里有5个格式化参数,你那程序到printf(FORMAT,p->num,p->score[0],p->score[1],p->score[2]); 这里只有4个,明显有问题,上面是修改后的代码,可以正确运行.

程序没问题...
连接错误

试验重新用其他方法写你的程序~

在#define FORMAT"%d\n%s\n%f\n%f\n%f\n" 下面添加如下语句:

void print(struct student *p);//原型声名

看不出来