【发布时间】:2016-04-13 18:59:08
【问题描述】:
我在尝试编译我的代码时遇到了两个编译错误,我找不到真正的问题所在。有人可以帮忙解释一下吗?
error: old-style parameter declarations in prototyped function definition
error: 'i' undeclared (first use in this function)
代码:
void printRecords (STUREC records[], int count)
STUREC records[ARRAY_MAX];
int count;
int i;
{
printf("+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");
printf("| Student Name | ID | Test 1 | Test 2 | Proj 1 | Proj 2 | Proj 3 | Average | Grade |\n");
printf("+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");
for (i = 0; i < count; i++)
{
size_t j;
printf ("|%s|%d|%d|%d|%d|%d|%d|%f|%c|", records[i].name, records[i].id, records[i].score1,
records[i].score2, records[i].score3, records[i].score4, records[i].score5,
records[i].ave, records[i].grade);
}
return;
}
【问题讨论】:
-
看起来您在 printRecords 函数定义中放错了
{括号.. -
开头
{应该跟在函数参数列表后面。 -
啊!谢谢你们......现在我收到一个错误,说在我的函数中'printRecords''count'被重新声明为另一种sybole,并附有说明我以前的定义在哪里的注释。但我有
void printRecord (STUREC records[], int count)后跟int count;的本地声明......这是错误代码指向的两行,但我将它们都放在int,那么错误指的是什么?
标签: c