VS编译错误:syntax error : missing ';' before 'type'

时间:2021-05-30 16:11:00

1. 前几天在VS中写C语言中,总是出现一个错误(好久没写C语言了.....)


int getPosition(MGraph G, char ch)
{
<span style="color:#ff0000;">for(int i = 0; i < G.vertexNum; i++)</span>
{
if(G.vertexs[i] == ch)
return i;
}
return -1;
}


红色的那一行总是提示出错!错误提示就是:

syntax error : missing ';' before 'type'


2. 后来查了一下*,原因大概如下:


在VS中编译c程序,在一个大括号括起的范围内,如果变量声明放在了调用的后面,那么编译的时候就会报错;

这个问题在VS编译c++程序,或者gcc编译c程序的时候都不会出现,仅仅在VS编译c程序的时候才会出现.


必须写成

int getPosition(MGraph G, char ch)
{
int i;
for(i = 0; i < G.vertexNum; i++)
{
if(G.vertexs[i] == ch)
return i;
}
return -1;
}

或者把文件名改为cpp也行....