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也行....