error C2143: syntax error : missing ';' before 'type'

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39104294/article/details/84349044

11月17日 周六 今天遇到了一个问题记录下:

缘起是我想打一个加法器,在定义变量a,b,c之前先输出了一条语句。然后编译,报错

error C2143: syntax error : missing ';' before 'type'

#include<stdio.h>
main(){
	printf("下面是一个加法器\n");
	int a=1;
	int b=2;
	int c;
	c=a+b;
	printf("%d",&c);
}

解决方法:将所有的变量声明放在可执行代码之前(在我这里就是将abc的定义放在printf语句之前)

原因分析:将文件保存成了 .c 格式。如果是 cpp 格式就能正常编译。改成.cpp就可以正常运行,和你变量声明的位置就没有关系了。*

一般在 ANSI C 或者 C++中,在可执行代码中随时定义变量是允许的,但是在K&R C中是不允许的,因此才会出现这个错误。VC6.0 、VS2008 都是用的 K&R C 来实现 C语言的,因此编译过程中会报错。
 

猜你喜欢

转载自blog.csdn.net/weixin_39104294/article/details/84349044