有没有我可以用来附加 2 个计算的运算符?
Is there any operator which I can use to attach 2 calculations?
我正在做一些仅使用基本运算的作业。我需要编写一个函数,给定一个正数,计算该数字的一半。
我的问题在:
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);
}
我正在做一些仅使用基本运算的作业。我需要编写一个函数,给定一个正数,计算该数字的一半。
我的问题在:
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);
}