当前位置:首页 » 编程语言 » c语言运行显示missing
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言运行显示missing

发布时间: 2023-01-22 09:29:49

A. c语言报错missing function header (old-style formal list)怎么办

c++编程中出现“missing function header (old-style formal list?)”是(编译错误)缺少函数标题(是否是老式的形式表?)

分析:函数定义不正确,函数首部的“( )”后多了分号或者采用了老式的C语言的形参表。

例如:# include <stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d ",d );
}
int max(int x,int y,int z);
{
int d;
if(x>y)d=x;else d=y;
if(d>z);else d=z;
return(d);
}
Cpp1.cpp(11) : error C2447: missing function header (old-style formal list?)
执行 cl.exe 时出错.

解决:int max(int x,int y,int z); 这一行最后多一个分号“;” (是说下面max定义的地方,不是main函数中的max函数申明),导致编译器认为这里仍然是max的申明,从而导致后面的括号没有意义。去掉int max(int x,int y,int z);后面的“;”即可。

(1)c语言运行显示missing扩展阅读

c++编程错误类型及分析

一、error LNK2001: unresolved external symbol _main

中文对照:(连接错误)未处理的外部标识main

分析:一般是main拼写错误,例如“void mian()”

二、error LNK2005: _main already defined in Cpp1.obj

中文对照:(连接错误)main函数已经在Cpp1.obj文件中定义

分析:未关闭上一程序的工作空间,导致出现多个main函数

三、warning C4003: not enough actual parameters for macro 'xxx’

中文对照:(编译警告)宏xxx没有足够的实参

分析:一般是带参宏展开时未传入参数

四、warning C4067: unexpected tokens following preprocessor directive - expected a newline

中文对照:(编译警告)预处理命令后出现意外的符号 - 期待新行

分析:“#include< iostream.h >;”命令后的“;”为多余的字符

五、warning C4091: ‘’ : ignored on left of ‘type’ when no variable is declared

中文对照:(编译警告)当没有声明变量时忽略类型说明

分析:语句“int ;”未定义任何变量,不影响程序执行

B. 单片机c程序老是报错出现missing";"

看他的报错提示(蓝色箭头所指),在第六行,也就是unsigned char Display Date[8];这句。变量名是不能带空格的,所以Display Date[8]编译器是不识别的,它会认为这是两个语句,所以报错缺分号。解决方法:把这个变量名字中间的空格,用下划线“_”代替。同样,程序中所有用到这个变量的地方都要这么修改。另,函数名也是不允许出空格的,第七行这个void Dig Display();以及用到这个函数的地方,也是一并要改的。

C. C语言无缘无故提示缺少分号:missing ';' before identifier '...'

scanf("%d", &price);

D. C语言程序出现错误missing ')' before 'type'

intmain(void){
shuru(void);//这一句把void去掉,它只能出现在函数声明中。。
xing(a);
shuchu(a);
return0;
}

另外好像还有几处错误

int*shuru(void){
inti=0,*a1;
for(;i<10;i++){
scanf("%d",&a[i]);
}
a1=&a[0];
return*a1;//此处把*去掉,因为a1已经是指针了,你加*传递的就是int类型了。。
}

E. c语言中声明数组时明明都写好了却显示 "missing ["是怎么回事

一定要对数组初始化。要不结果会出错的! int a[100]; int i; for还有一楼的你的代码过于死板,没有通用性,在logo语言中通用性是很重要的。

F. c语言编译出现missing ';' before 'type'

这个报错的原因是你的代码在某句话的后面没有加上;号,至于在哪里没加,你把你完整的代码发出来看看

G. c语言调试失败总显示missing ; before...但是我仔细检查了没有错误啊

没有main函数啊,不可以直接运行呀!

H. C语言里出现missing ';' before 'type'

printf("四位数字之和为:);

少一个分号。改成一下的代码
printf("四位数字之和为:");
错误提示就是说少了一个;你就在代码提示的行号附近找问题就好了

I. c语言中提示missing ;但是我找过了没有发现

#include <stdio.h>
#include<conio.h>//getch函数所需的头文件
main()
{
void d();//要在主函数里面声明在主函数下面定义的自定义函数,而且你的d()没有类型,我加上了一个void
char choice;
while(1)
{
printf("1.d\n2.f\n3.exit\n\nplease choose 1/2/3.");
choice=getch();//这个getch函数在conio头文件里面,所以前面要加上一个#include<conio.h>
switch(choice)
{
case '1': d(); break;
/*case '2;f(); break;
case '3': exit(); break;*/
default: printf("error, please try again"); getch();
}
}
}
void d()//这个地方加上void
{
int a,b;
char c;
// clrsc();//这个函数我不知道有什么用,所以给你注释了。要是你想要用这个函数的话你可以去网络一下这个函数的头文件,然后加在代码最前面就行了
scanf("%d%c%d",&a,&c,&b);
switch(c)
{
case '+': printf("=%d",a+b); break;
case '-': printf("=%d",a-b); break;
case '*': printf("=%d",a*b); break;
case '/': printf("=%d",a/b); break;//你的这个地方写成尖括号了,我给你改成圆括号了。
default: printf("sorry, I cannot do this");
}
printf("press 1 to continue; press 2 to f; press 3 to exxit");
getch();
}