error C2143: 语法错误 : 缺少“;”(在“类型”的前面)求解
最近想捡起c语言,从求最大公约数的小程序开始编起,结果这都出现问题,求解!!!
int two(int a,int b)//辗转相除 一般用递归描述算法
{
int temp;
int r;
if(a<b)
{
temp = a;
a = b;
b = temp;
}
//int r; //r在这生命就报错 error C2143: 语法错误 : 缺少“;”(在“类型”的前面) ????
do
{
r = a%b;
a = b;
b = r;
}while(r != 0);
return a;
}
在第一处声明r,程序就通;但是在注释处就报错error C2143: 语法错误 : 缺少“;”(在“类型”的前面),这是为什么呢?
c语言
[解决办法]
你这是c语言写的,变量的定义都要放到最前面(也就是函数的开始),不能函数中间定义变量~
而用C++写的话就可以这么干;
[解决办法]
C语言要把所有的定义放到最前面。