smile恶魔是我 2014-03-26 06:11 采纳率: 0%
浏览 2433

c语言程序在不同环境下运行情况不同

我在dev-c++下和VC6.0分别都是输入同样的代码(VC6.0下在retnrn 0;前有加上getch();)
为什么dev-cpp下没结果显示出来(不是窗口一闪而过,而是黑窗口,但没结果输出),而VC6.0下则输出 11 30 ?请大神指导,谢谢
#include
int main()
{
int i,j;
float a;
for(i=1;i<=100;i++)
{
for(j=1;j<=100;j++)
{

a=2.3*i+1.9*j;
if(a==82.3&&i<j)printf("%d %d\n",i,j);
}
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • 普通网友 2014-03-26 06:36
    关注

    Visual C++6.0很多Ansi C和C++的标准都不支持,因为太老了,是96年开发的,而C语言新的标准是99年定的,因此,很多新的东西都不支持,这是第一;
    第二,VC6是Ms开发的,MS的编译器都比较一般;DEV-C++是开源的,界面友好性而言,可能初学者感觉不如VC,但bug明显比VC少,支持最新的标准,国际比赛都用DEV-C++,其实其内核是GNU的。

    在这里对于你的问题就是因为vc6.0与dev c的区别导致的,vc6.0 可以识别 a == 82.3 ,而dev c总是认为这个结果为false,所以没有任何的输出值,82.3在这里不是float类型的,所以dev c默认是false的,如果代码是下面这样的话,就可以了。
    #include
    #include
    int main()
    {
    int i,j;
    int k;
    float a;
    for(i = 1;i<=100;i++)
    {
    for(j=1;j<=100;j++)
    {
    a=2.3*i+1.9*j;
    if(a==(float)82.3&&i<j)
    printf("%d %d\n",i,j);
    }
    }
    scanf("%d",&k);
    return 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B