在纯C环境下写程序分分钟让你懷疑,自己到底会不会写程序的太多常用库和类都不能用,甚至一些惯有的“随意表达”分分钟都是错的。
我只想在VS写个纯C练练手應该说是在.cpp写完,觉得这段代码还可以符合标准纯C环境,改成.c看看是否能运行万万没想到的是,这段这么简单的代码连个刚学C语言,甚至是文科专业选修C语言的童鞋都看得懂得的代码:
居然在.cpp过得了编译手贱将其改成.c之后,他丫的vs2010居然给我报这样的错:
然后我瞪大峩的钛合金狗眼好好找找今天是不是这么不在状态,连个分号都没打上去,但明明第5行那个int b=2;,可以理解成2b后面就是有个分号。
然後告诉我b未声明标识符喂,?,分号我看不清楚但你这个b之前明明有个int,三个英文?
此处应有暴漫表情,你他妈是在逗我
の前那个莫名其妙的警告,《【C】将m~n之间的素数输出与VS2005以上版本对C语言的scanf的警告warning C4996》()能过编译、能正常运行也就算了,C语言抽风也不昰一天现在你居然这么简单的程序都不给我过编译。
实质上纯c要求局部变量定义必须在函数或局部空间的开头,然后才能有其他语句纯c确实对变量声明的位置有要求,c++却可以随用随定义的 说明vs是严格执行了纯C的标准。变量任意定义是C99的标准这是C89的标准,C99也没有这個限制问题是微软拒绝支持C99(包括VS2012),一股当年IE6的作风可以用/tp参数把程序作为C++代码编译,就可以通过了或者,根本没有这么麻烦將int b拉到最顶,就没事了
就是要你完成所有局部变量的定义,你才能写代码如下代码,就半点问题没有了: