Я пытаюсь вычислить самый большой общий знаменатель двух целых чисел.
C Код:
#include <stdio.h>
int gcd(int x, int y);
int main()
{
int m,n,temp;
printf("Enter two integers: \n");
scanf("%d%d",&m,&n);
printf("GCD of %d & %d is = %d",m,n,gcd(m,n));
return 0;
}
int gcd(int x, int y)
{
int i,j,temp1,temp2;
for(i =1; i <= (x<y ? x:y); i++)
{
temp1 = x%i;
temp2 = y%i;
if(temp1 ==0 and temp2 == 0)
j = i;
}
return j;
}
В операторе if обратите внимание на логический оператор. Это and
не &&
(по ошибке). Код работает без каких-либо предупреждений или ошибок.
Существует ли оператор and
в C? Я использую orwellDev-С++ 5.4.2 (в режиме c99).