近期使用VS2012做C程序设计时,出现了这样的错误提示:error C2143:语法错误:缺少";"(在“类型”的前面)。检测代码时发现并没有什么语法上的错误,但是就是无法运行。错误提示如下:
代码如下:
#include<stdio.h> #include<stdlib.h> void main(){ int n ; double sum=0;//定义总数 scanf("%d",&n);//输入要循环的次数 for (int i=1;i<=n;i++){//循环 sum=sum+1.0/i; } printf("sum=%2f\n",sum);//输出结果 system("pause");//屏幕显示 }代码看上去并没有错误,但是如果对C语言熟悉的话就会发现C语言的标准规定标量要在函数开始的时候定义或者声明,而上述代码中是在循环中定义的i变量,这样是不符合C语言规范的。修改如下;
#include<stdio.h> #include<stdlib.h> void main(){ int n ,i;//在此定义循环量i double sum=0;//定义总数 scanf("%d",&n);//输入要循环的次数 for ( i=1;i<=n;i++){//循环 sum=sum+1.0/i; } printf("sum=%2f\n",sum);//输出结果 system("pause");//屏幕显示 }这样调整好变量声明的位置,程序就可以正常启动运行了。