| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2322 人关注过本帖
标题:您认为这道题目的结果应该是什么?
只看楼主 加入收藏
zisefengye
Rank: 5Rank: 5
等 级:职业侠客
帖 子:167
专家分:386
注 册:2010-6-27
收藏
得分:0 
谢谢楼上的指出,不过我还是能分清宏定义和方法的定义。我只是觉得,方法中的参数没有定义类型,没见过。但宏定义是可以这么做的。
2010-07-28 22:02
Rexfield
Rank: 6Rank: 6
来 自:幻想乡
等 级:侠之大者
威 望:1
帖 子:240
专家分:484
注 册:2010-7-28
收藏
得分:0 
没有指定x的类型,传不进去,x=0,返回0,ret=0。
鉴定完毕。

我是真相帝,欧耶

If you're not failing every now and again, it's a sign you're not doing anything very innovative.
2010-07-29 08:22
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:0 
回复 楼主 phrankmoon
程序代码:
080483b4 <sqr>:
double sqr(x) {

 80483b4:    55                       push   %ebp

 80483b5:    89 e5                    mov    %esp,%ebp

 80483b7:    83 ec 04                 sub    $0x4,%esp    #这里双精度应该偏移8个就对了
    return (x*x);

 80483ba:    8b 45 08                 mov    0x8(%ebp),%eax

 80483bd:    0f af 45 08              imul   0x8(%ebp),%eax

 80483c1:    89 45 fc                 mov    %eax,-0x4(%ebp)

 80483c4:    db 45 fc                 fildl  -0x4(%ebp)
}

 80483c7:    c9                       leave 


 80483c8:    c3                       ret   


080483c9 <main>:

int main(void)
{

 80483c9:    55                       push   %ebp

 80483ca:    89 e5                    mov    %esp,%ebp

 80483cc:    83 e4 f8                 and    $0xfffffff8,%esp

 80483cf:    83 ec 18                 sub    $0x18,%esp
    double ret;
    ret = sqr(3.0);

 80483d2:    dd 05 b0 84 04 08        fldl   0x80484b0

 80483d8:    dd 1c 24                 fstpl  (%esp)

 80483db:    e8 d4 ff ff ff           call   80483b4 <sqr>

 80483e0:    dd 5c 24 10              fstpl  0x10(%esp)
    return 0;

 80483e4:    b8 00 00 00 00           mov    $0x0,%eax
}
开始以为是9,调试了下的确是0.

无聊创造奇迹。
2010-07-29 12:54
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
double sqr(x) 换成 double sqr(double x) 不就对了么?

我就是真命天子,顺我者生,逆我者死!
2010-07-29 13:00
sxwsxw
Rank: 2
等 级:论坛游民
帖 子:23
专家分:66
注 册:2010-3-9
收藏
得分:0 
回复 楼主 phrankmoon
我的VC6怎么编译不过
2010-07-29 13:45
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
一群高手在讨论一个闲得蛋疼的问题,呵呵

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-07-29 14:26
Rexfield
Rank: 6Rank: 6
来 自:幻想乡
等 级:侠之大者
威 望:1
帖 子:240
专家分:484
注 册:2010-7-28
收藏
得分:0 
突然发觉x是有数据类型的,是void。

If you're not failing every now and again, it's a sign you're not doing anything very innovative.
2010-07-29 16:40
andy0622
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-7-21
收藏
得分:0 
以下是引用Rexfield在2010-7-29 08:22:20的发言:

没有指定x的类型,传不进去,x=0,返回0,ret=0。
鉴定完毕。

我是真相帝,欧耶
正解。
2010-07-29 17:12
lhpzwd
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-30
收藏
得分:0 
gcc通过了,结果是0  可是VC6没法通过啊。
2010-07-30 09:50
tracyjk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-8-20
收藏
得分:0 
以下是引用phrankmoon在2010-7-26 21:17:04的发言:

 
#include  
 
double sqr(x) {
    return (x*x);
}
 
int main(int argc, char *argv[])
{
    double ret;
    ret = sqr(3.0);
    printf("%g\n", ret);
     
    return 0;
}



                                    .
double sqr(x)连参数x都没有定义,能输出正确的么
2010-07-30 17:34
快速回复:您认为这道题目的结果应该是什么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018486 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved