我正在做一本名为“用 C 语言编程”的书的练习,试图解决练习 7.9,因此我的代码可以完美运行,直到我为函数添加条件语句以仅接受大于 0 的变量
我尝试以多种方式对其进行更改,但似乎没有任何效果
// Program to find the least common multiple
#include <stdio.h>
int main(void)
{
int lcm(int u, int v);
printf("the least common multiple of 15 and 30 is: %i\n", lcm(15, 30));
return 0;
}
// Least common multiple
int lcm(int u, int v)
{
int gcd(int u, int v);
int result;
if (v || u <= 0)
{
printf("Error the values of u and v must be greater than 0");
return 0;
}
result = (u * v) / gcd(u, v);
return result;
}
// Greatest common divisor function
int gcd(int u, int v)
{
int temp;
while (v != 0)
{
temp = u % v;
u = v;
v = temp;
}
return u;
}
我希望 lcm(15, 30) 的输出为 30,但我不断收到错误消息,如果 lcm 函数中的 delete de if 语句工作正常,但我希望程序在例如我使用时返回错误(0, 30)