我用的是VS2005,程序是一个输入法,也就是一个动态链接库,我建立源文件的时候扩展名为.c 而且我发现:如果把变量放在语句后面定义,编译就会报错,这说明一直是按照C来编译的。可是我今天打开它的属性页,发现在“配置属性”——“C/C++”——“高级”中,在“编译为”这一栏里,写着“编译为C++代码/TP”,这就是说,它是按照C++来编译的了?我再打开“命令行”,发现“命令行”内容为:/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "BJWB_EXPORTS" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /Gm /EHsc /RTC1 /MTd /Fp".\Debug/bjwb.pch" /Fo".\Debug/" /Fd".\Debug/" /W3 /nologo /c /ZI /TP /errorReport:prompt其中也有/TP选项,这两方面好象都说明:是按照C++来编译的,可是为啥我文件名取.c为扩展名,而且在语句后面定义变量又会报错呢?按理说在C++中,是可以在语句后面定义变量的吧?我的程序到底是按照C还是按照C++来编译的?