vs2005中,写c程序,所有的局部变量都要放在函数体的最前面吗,为什么?_百...
发布网友
发布时间:2024-03-09 12:33
我来回答
共1个回答
热心网友
时间:2024-05-28 01:00
VC2005对C的支持还处于C89阶段,C99中引入了很多C++的特性,比如inline函数和on-the-fly declaration,所谓variables on the fly就是可在任意位置声明变量的特性,也称JIT(just in time) declaration,就是和C++ 一样,可以在for,while, 等语句和任意大括号内的任意位置声明或定义并初始化变量,如:
for(int i = 0; i < 10; ++i)
....
和
if(...)
{
int x = 5;
...
}
等。
至于所有变量都必须在函数顶端声明那是C89的规定,相对于C99来说已经荒废了。
其实随着C的不断发展C的很多部分都已经和C++重叠了,以至于你用C++来编写一个过程式的程序拿到支持C99的编译器上也能跑,如果你想学习标准C,即最新的C99,不妨试试我上面说的方法。
PS: VC2005对C++的支持倒是蛮新的,ISO/IEC 14882:2003(E) C++ 2003。