该项目是编写一个程序,读取三个整数,然后按顺序打印并反转。使用四个函数:main,一个用于读取数据,一个用于按顺序读取它们,另一个用于打印它们 我得到了错误:
功能'main':
[错误]输入结束时的预期声明或声明
目标'main.o'的配方失败
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
int main(int argc, char *argv[]) {
int getData ( );
void printForward (int first, int second, int third);
void printReversed (int first, int second, int third);
int main (void)
{
int a;
int b;
int c;
a=getData();
b=getData();
c=getData();
printForward ( a, b, c);
printReversed ( a, b, c);
int getData();
{
int num;
printf ("Enter an integer: ");
scanf ("%d", &num);
return num;
}
void printForward (int a, int b, int c);
{
printf ("\nNumbers in order: %d, %d, and %d\n", a, b, c);
return;
}
void printReversed (int a, int b, int c);
{
printf ("\nNumbers reversed: %d, %d, and %d\n",
c, b, a);
return;
}
return 0;
}
答案 0 :(得分:0)
好像你错过了关闭主要功能的简单}
。
如果我不能强调这一点,那么你可以更容易地观察代码中的缩进。这是你应该考虑做更多的事情,它将帮助你和其他人,你的代码的可读性。
int main (void)
{
int a;
int b;
int c;
a=getData();
b=getData();
c=getData();
printForward ( a, b, c);
printReversed ( a, b, c);
} // THIS RIGHT HERE
int getData();
{
// rest is the same
答案 1 :(得分:0)
除了嵌套函数定义外,函数定义中还有许多散列分号。即使您的编译器允许嵌套函数,您也需要删除那些
int getData(); <<<<===== remove trailing ;
{
...
}
printReversed
和printForward
相同。
答案 2 :(得分:0)
如果您的项目要求使用四个函数,我不知道您使用命令行参数的原因。我给出了以下适用于您的项目的代码。 不需要为前向数据和反向数据编写两个单独的函数。你可以通过对两者使用相同的功能来实现。只是传递tha值将是相反的。 不要在函数定义的第一行使用分号。