错误C2447:&x27;{';:缺少函数头-';无法解决此错误,有什么问题? #包括 #包括 #包括 #包括 #包括“bcio2.h” 整数误差,x; 字符总脉冲[80],平均脉冲[80]; void validate_number(); 内部主(空) { clrsc(); 做{ printf(“\n总脉冲交付:”); 获取(总脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; } {//错误C2447 clrsc(); 做{ printf(“\n交付的平均脉冲:”); 获取(平均脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; }

错误C2447:&x27;{';:缺少函数头-';无法解决此错误,有什么问题? #包括 #包括 #包括 #包括 #包括“bcio2.h” 整数误差,x; 字符总脉冲[80],平均脉冲[80]; void validate_number(); 内部主(空) { clrsc(); 做{ printf(“\n总脉冲交付:”); 获取(总脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; } {//错误C2447 clrsc(); 做{ printf(“\n交付的平均脉冲:”); 获取(平均脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; },c,function,validation,input,header,C,Function,Validation,Input,Header,括号看起来是匹配的,似乎没有任何不必要的分号。我假设这是显示输入/验证的正确方法。如果只使用TotalPulse的do…while();循环运行,它会很好,但是当我在另一对{}之间复制/粘贴完全相同的分号时我得到的只是C2447错误。现在,你只需要一块代码,在任何函数之外 我假设从代码的其余部分来看,这段代码应该是void validate_number();的定义,如下所示: #include <stdio.h> #include <stdlib.h> #include

括号看起来是匹配的,似乎没有任何不必要的分号。我假设这是显示输入/验证的正确方法。如果只使用TotalPulse的do…while();循环运行,它会很好,但是当我在另一对{}之间复制/粘贴完全相同的分号时我得到的只是C2447错误。

现在,你只需要一块代码,在任何函数之外

我假设从代码的其余部分来看,这段代码应该是
void validate_number();
的定义,如下所示:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include "bcio2.h"
int error, x;
char totalimpulse[80], averageimpulse[80];
void validate_number();

int main(void)
{
    clrscr();
    do{
        printf("\nTotal Impulse delivered: ");
        gets(totalimpulse);
        validate_number();
    } while (error != 0);
    printf("You entry %d was valid\n", x);
    getch();
    return 0;
}

{   //error C2447
    clrscr();
    do{
        printf("\nAverage Impulse delivered: ");
        gets(averageimpulse);
        validate_number();
    } while (error != 0);
    printf("You entry %d was valid\n", x);
    getch();
    return 0;
}

请注意,
void
函数不能返回值,因此应删除
返回0

从错误开始的代码不在
main
或任何其他函数中。如果删除错误行上的大括号及其前面的大括号,则第二个循环也将位于旁边ode>main。如果您希望该部分成为一个不同的函数,则必须包含该函数的标题。您在顶部为
validate\u number
添加的内容只是承诺您将在某个地方定义该函数(虽然你的意思是底部的部分是
validate_number
,但我很确定你不希望它是递归的)。

该块在main.BTW之外:头文件conio.h不可移植(通常不存在于windows操作系统之外),建议删除相关的#include并使用标准系统函数。
void validate_number()
{
    clrscr();
    do{
    // ...
    return 0;
}