| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:求教一个关于不同输入时运行结果不同的问题
只看楼主 加入收藏
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:3 
求教一个关于不同输入时运行结果不同的问题
函数目的:当输入不同时分别调用函数mul(),分两种情况:v>=0和其他情况,当输入的v为正整数时能运行正确,当输入的为负数时却不能正常运行,这是为什么呢?如果想实现这个功能,我该怎么修改这个程序呢?求教求教。。
#include<stdio.h>
#include<string.h>
int mul(int a,int b)
{
    if(a==0||b==0)
        return 0;
    if(b==1)
        return a;
    return(a+mul(a,b-1));
}
main()
{
    int u,v,w;
    printf("enter two integers!\n");
    scanf("%d,%d",&u,&v);
    if(v>=0)
        w=mul(u,v);
    else
        w=-mul(u,v);
    printf("the result is %d\n",w);
}
搜索更多相关主题的帖子: 结果 运行 输入 
2010-06-11 22:43
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:10 
if(v>=0)
        w=mul(u,v);
    else
        w=-mul(u,v);//改为w=-mul(u,-v);
2010-06-11 22:59
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
收藏
得分:0 
回复 2楼 heartnheart
这是为什么呢?
2010-06-11 23:08
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:0 
回复 3楼 huxiangwenhu
例如3*(-5)其实就等于-3*(-(-5))即-3*5
2010-06-12 07:01
快速回复:求教一个关于不同输入时运行结果不同的问题
数据加载中...
 
   



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

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