永发信息网

原代码计算的是加和减,我在其基础上添加了乘法运算,但是显示有错误!

答案:4  悬赏:0  手机版
解决时间 2021-01-19 12:49
  • 提问者网友:相思似海深
  • 2021-01-19 02:47
原代码计算的是加和减,我在其基础上添加了乘法运算,但是显示有错误!
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-01-19 04:16

#include
int p(int v1, int v2, int *minus, int *multiplier)
 {
    *minus = v1 - v2;
    
    *multiplier = v1 * v2;
    
    return v1 + v2;
}

int main()
{
    int a = 6, b = 2;

    int sum, minus, multiplier;

    //错在这一句,给你修改了,
    sum = p(a, b, &minus,&multiplier);
    
    
    printf("%d+%d=%d
", a, b, sum);
    
    printf("%d-%d=%d
", a, b, minus);
    
    printf("%d*%d=%d
", a, b, multiplier);
    return 0;
}
全部回答
  • 1楼网友:洒脱疯子
  • 2021-01-19 06:39
函数p()有四个参数,你调用的时候只有三个,这样可以么?太久不用c了,不太确定了。
  • 2楼网友:廢物販賣機
  • 2021-01-19 05:15
sum = p(a, b, &minus, &multiplier);
multiplier = p(a, b,&minus, &multiplier);
调用p时,你少给了个参数,改成这样就好了。
  • 3楼网友:詩光轨車
  • 2021-01-19 04:36
你定义的p的这个函数有4个参数吧,你在main函数里面调用的时候,只传进去了3个吧
如果你想像你main函数里面的那样调用,就得在定义p这个函数的时候给参数定义初始值,但是因为你用的是指针,所以这样做也不是很好
更好的做法是,在p函数定义里面
// 计算差,并赋值给指针指向的变量
if(minus != null)
*minus = v1 - v2;

// 计算乘,并赋值给指针指向的变量
if(multiplier != null)
*multiplier = v1 * v2;
然后调用的时候,四个参数一个都不能少,只不过求和的时候,你把积的那个指针,给它丢一个空指针
sum = p(a, b, &minus,null);

multiplier = p(a, b, null, &multiplier);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯