| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3331 人关注过本帖
标题:改变做法后,错误相同,
只看楼主 加入收藏
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
测试失败

[[it] 本帖最后由 VxWorks 于 2008-5-27 21:27 编辑 [/it]]

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-05-27 21:26
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
楼上几位大牛有回答对的吗?没有.都在胡说什么编译器的问题,TC有这么多BUG让你们发现么?你们当用了几十年TC前辈都是BC么?

如果诚心帮助人,就请诚心一点,而不要时刻戴着有色眼镜看问题.说实话,你们目前还没评论编译器的优劣资格.

#include<math.h>
long int b[10],a[10];
void f1(int x,int n)
{
    a[n]=pow(x,n);
}

long int f2(int n)
{
    if(n==0)return 1 ;
    else return n*f2(n-1);
}
int main()
{
    int x,n ;
    float sum=0 ;
    printf("Enter the number:");
    scanf("%d",&x); //语法错误
   
    for(n=0;n<=9;n++)
    {
        f1(x,n);
        b[n]=f2(n);  //逻辑性错误
        sum+=(float)a[n]/b[n];
    }
    printf("%f",sum);
    return 0;
}

楼主看看我修改后的是不是合你的题意,并且注意一下我的程序与你的不同之处

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-05-27 21:58
yjcf
Rank: 1
来 自:西安工业大学
等 级:新手上路
帖 子:145
专家分:0
注 册:2008-3-29
收藏
得分:0 
1,函数f1() f(2)都要加上void 或者return 0;
2,加#include "stdio.h"
经编译后正常

ps:顶StarWing83,说得好啊~~学习中...

泾溪石险人竞慎,终岁不闻倾覆人。却是平流无石处,时时闻说有沉论。
2008-05-27 22:08
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
很好,看来以后可以跟老K吵架,比较舒服。

首先你承认了TC有bug了,的确我没发现,因为我根本就没有用。对于我没有使用的东西,我自然没有发言权。但是请注意,这里是C语言论坛,不是TC论坛。我们说的是ANSI C,不是TC,所以,我用什么编译器是我的自由,当然这也决定了你用什么编译器也是你的自由。float pointing error的问题我百度过,的确没有发现什么有价值的地方。bccn里面有个老帖你们可以搜索一下。但是,难道说的不对就不能发言了吗?难道非要完全正确的回答正确才能发表评论吗?说到BC,至少我不愿意当。
要我说,原因应该是,TC的浮点处理和现代处理器不同。早期的处理器是使用单独的协处理器去处理浮点数的,在处理的时候是和CPU并行处理的,所以才会有一些特殊的指令来调剂。不过现代处理器都是可以直接处理浮点数了。不再需要协处理器。所以,LZ的代码我用GCC编译根本没有出现问题。
老K前辈愿意自虐是你自己的事情,LZ愿意自虐也是楼主的事情,我们愿意多管闲事是我们自己的事情。就是这样。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-27 22:11
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
今天没什么兴趣吵架,不过还是回答一下你.

1.我从没有强求你或者这个论坛的任何一个人用什么编译器,也没有否定过任何一款编译器的价值.因为我知道任何一款编译器都有其存在的价值,只是适用人群\项目不同而已.
2.关于楼主的"Floating  point  error:DOMAIN"这个问题请你仔细再看看,然后你就知道我为什么在12楼这么说了.
3.你浮躁了

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-05-27 22:19
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
嘿嘿,的确浮躁了……因为可以吵架所以比较激动嘛……
我看看再说吧……
其实我没有仔细看LZ的程序,他的程序和那个老帖子的问题太像了,我就直接按照那个方法改的,然后你提醒才发现其实并不一样。
不管怎么说,我怀疑都是返回值的问题。
不过吵架的感觉真爽啊……特别是当一股气直灌大脑的时候,爽啊~~~哈哈哈~~~

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-27 22:26
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
收藏
得分:0 
为什么那个是语法错误?我并不认为是语法错误,不过,你喜欢用的TC喜欢把这个作为语法错误的话,
那就是那个编译器的自由,正如VS会警告scanf和gets一样

[color=white]
2008-05-27 22:27
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
[bo][un]Loli[/un] 在 2008-5-27 16:50 的发言:[/bo]

很简单,不要去用TC

 


你这样的回答不是误导楼主,程序代码是对,只是编译用错了么?
我还是以前那句话,对这种技术问题求助的贴子,要么你就不要回答,要回答就要诚心,不要误导别人.
你仔细看过楼主程序了么?没有,你只瞄了一眼.

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-05-27 22:32
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
全篇仔细看了一遍。
1 LZ 的问题在于两点,1是f1的返回值问题,由于pow返回float,f1默认返回int,而返回的值是ax的值从而出错,2是scanf的问题了。不过出现这个问题大多数都是因为编译环境(而不仅仅是编译器)对于浮点数的实现,所以才引出我上面的发言。
2 对于编译器,我还是保持我的观点吧,反正你们用什么我不管,以后看见TC引起的问题我不看就可以了。但是,C语言刚开始的时候,因为其贴近机器而获得了极大的灵活性,但是在现在,C贴近机器的优势已经不明显,大多数都需要编译器智能检测并使用新的指令(这话是谁说的?是flyue还是rockcarry啊……),所以,一个好的编译环境对效率,对可移植性,对标准都很重要,这也是有些人推荐新编译器而抵制TC的原因所在。
3 我在上面除了回答了一个问题(f1和f2都改成void。虽然我没看出来scanf——我当时没仔细看程序),以外,好像没有多说什么吧?
4 看来吵架也需要冷静……Orz……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-27 22:35
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
再补充一点……原来燕子是这个意思啊……我又误解了……
不过说的也对,这个程序所有的错误如果用GCC编译的话,全部都会用警告的方式标示出来,包括那个scanf……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-27 22:37
快速回复:改变做法后,错误相同,
数据加载中...
 
   



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

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