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

本文解决了一个在Visual Studio中使用C语言时遇到的语法错误问题,该错误出现在大括号内的变量声明位置不当。通过调整代码结构,问题得以解决。此外,文章还提供了将文件类型更改为cpp作为另一种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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. 后来查了一下StackOverflow,原因大概如下:


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值