回 帖 发 新 帖 刷新版面

主题:求助书写顺序问题

[code=c]
请填写代码
[/code]
#include<stdio.h>
void main()
{    double a[5];
    int i;//如果定义在这地方,则程序运行正确
    a[4] = 10000;
    //int i;如果定义在这地方,则程序出错,为什么?
    for(int i = 3;i>=0;i--)
    a[i] = a[i+1]/1.066+10000;
    printf("%g\n",a[1]);
}

回复列表 (共3个回复)

沙发


i重定义吧???  问题看书去!!!

板凳

只有C++和新标准的C才能这样定义(不把所有变量的定义放在执行语句的前面,哪里用到就在哪里定义),如果确信所用编译器支持新标准则需要设定编译的选项

3 楼

不知道楼主用的是什么编译器,以上二中定义方式我都报错。
我用的是VC6.0编译器。理由一楼提到了
error C2086: 'i' : redefinition
就是重定义了
我不知道楼主为什么这么做,我感觉良好的编程习惯应该是定义放在最前面,然后旁边写注释,这个变量到底有什么用,当然这只是我个人习惯。

我来回复

您尚未登录,请登录后再回复。点此登录或注册