VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 705|回复: 4

[求助] VC高手挑战以下,看看能不能找到原因

[复制链接]
65_avatar_middle
在线会员 发表于 2015-11-18 22:35:32 | 显示全部楼层 |阅读模式
3驿站币
VC 程序,在release状态  最快运行速度编译模式下,明显的c=5;  f=0; 结果 -c*f 不是零,成了-5。程序中随便找个地方改一下,结果又正确了。大家能指出原因吗?


#include<stdio.h>

double ggg(){return 5.0;}

void fu(double t,double aa[1],double aad[3])
{
        double x=aa[0];
        double y=0;
        double z=x*y;
        double c=ggg();
        double f=0.0;
        double d=-1.0*c*f;
        printf("%lf  f=%18.15lf\n",c,f);
        printf("d=%18.15lf\n",d);
        aad[0]=y*z*y;
        aad[1]=x*y-x*y+c*f;
}

void goo()
{
        double t,aa[1],aad[3];
        t=100;
        aa[0]=100;
        fu(t,aa,aad);
}

void main(){goo();}





上一篇:网络高手指点(接上贴)2
下一篇:如何高效的判断当前时间是否到了12点???
51_avatar_middle
online_admins 发表于 2015-11-19 11:52:20 | 显示全部楼层
Win7-x64 vs2010 环境,Release版本,测试没问题啊:
VC高手挑战以下,看看能不能找到原因
17_avatar_middle
在线会员 发表于 2015-11-19 20:17:07 | 显示全部楼层
新人冒个泡
94_avatar_middle
在线会员 发表于 2015-11-20 11:35:07 | 显示全部楼层
XP 32 RELEASE 也没问题
65_avatar_middle
ico_lz  楼主| 发表于 2015-11-21 00:00:42 | 显示全部楼层
VC 程序,Visual 6.0环境下, 在release状态  最快运行速度编译模式下,明显的c=5;  f=0; 结果 -c*f 不是零,成了-5。程序中随便找个地方改一下,结果又正确了。大家能指出原因吗?

在debug 模式下没有问题,如果单步走也是没问题的。

我把程序改得更简单点,大家再看看。


#include<stdio.h>

double ggg(){return 5.0;}

void fu(double aad[2])
{
double z=0;
double f=0;
double c=ggg();
double d=-1.0*c*f;
printf("%lf  f=%18.15lf\n",c,f);
printf("d=%18.15lf\n",d);
aad[0]=z;
aad[1]=c*f;
}

void main()
{
double *aad;
aad=new double[2];
fu(aad);
}

VC高手挑战以下,看看能不能找到原因
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-26 23:31

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表