近期使用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");//屏幕显示
}
这样调整好变量声明的位置,程序就可以正常启动运行了。