gpt4 book ai didi

c - 是否有任何运算符可以用来附加 2 个计算?

转载 作者:行者123 更新时间:2023-11-30 16:13:05 26 4
gpt4 key购买 nike

我正在做一些只使用基本运算的作业。我需要编写一个函数,给定一个正数,计算该数字的一半。

我的问题是:

int half(int x, int y)
{
return x == 0 ? y : half(x-1-1, y+1) , x == 1 ? y : half(x-1-1, y+1);
}

我不知道是否存在任何运算符或连接这些计算的东西。在那行代码中我尝试使用 ( , )。

我尝试使用 ( | ) 和 ( & ) 替换 ( , )。但我有很多错误。


#include <stdio.h>

int sum(int x, int y)
{
return y == 0 ? x : sum(x+1, y-1);
}

int half(int x, int y)
{
return x == 0 ? y : half(x-1-1, y+1) , x == 1 ? y : half(x-1-1, y+1);
}

int main(void)
{
int x;
int y=0;
scanf("%d", &x);
int z = half(x, y);
printf("%d\n", z);
return 0;
}

在此代码中,我预计 6/2 的输出为 3,5/2 的输出为 2。

注意:虽然函数 sum 没有做任何事情,但我无法删除它,因为作业说不要从代码中删除,也许我需要使用它。

最佳答案

您可以使用 || 将它们放在一起:

int half(int x, int y)
{
return x == 0 || x == 1 ? y : half(x-1-1, y+1);
}

关于c - 是否有任何运算符可以用来附加 2 个计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58159704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com