error C2143: 语法错误 : 缺少“;”---C语言变量声明不能在函数中间

今天在一个技术群里,一个网友突然说,莫名奇妙的碰见一个C2143错误,百思不得其解。我们就叫他把代码发出来。群里大家都是写C/C++的,一看都说没错啊...
    我开始也没看出来,错在哪里,还专门把VC打开来,把代码贴进去。build后,确实没问题啊?奇怪了...后来一个资深的专门写C代码的朋友,说:你把变量的声明放在函数体中间了,C语言定义变量的声明都在函数开始位置。
    汗,惭愧!以前还说自己写C/C++的呢,两者的细微区别都没认真揣摩。
    在VC中要使变量声明可以在函数体中间,那么就要告诉编译器,我们写的是C++代码,请编译为C++代码(/TP),设置如下:
    工程属性-->C/C -->高级-->编译为-->编译为C++代码(/TP)

你可能感兴趣的:(error)