error C2143: 语法错误 : 缺少“;”(在“类型”的前面)求解

melody5417 2013-08-28 07:52:30
最近想捡起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: 语法错误 : 缺少“;”(在“类型”的前面),这是为什么呢?
...全文
299 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LubinLew 2013-08-28
  • 打赏
  • 举报
回复
有中文标点符号吧
melody5417 2013-08-28
  • 打赏
  • 举报
回复
谢谢一楼二楼啊 好久没编c了 都不知道这个规定 谢了!
hznat 2013-08-28
  • 打赏
  • 举报
回复
C语言要把所有的定义放到最前面。
无魂冬冬 2013-08-28
  • 打赏
  • 举报
回复
你这是c语言写的,变量的定义都要放到最前面(也就是函数的开始),不能函数中间定义变量~ 而用C++写的话就可以这么干;

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧