LINUX.ORG.RU

История изменений

Исправление praseodim, (текущая версия) :

По-моему, автор хотел, чтобы это на макросах записали. И никаких размышлений насчет типов данных. Какие надо, такие и будут =)

#include<stdio.h>

#define is_contained(h0, hlen, q0, qlen) ((q0 >= h0) && ((q0 + qlen) <= (h0 + hlen)))

int main()
{
  int a = is_contained(11,20,4,10);
  int b = is_contained(1,30,4,15);
  printf("\na = %d  b = %d\n",a,b);
  return 0;
}

Результат:

./a.out 

a = 0  b = 1

P.S. Макрос для прода не очень годен, но мне лень его кучей скобок обкладывать, чтобы совсем правильно было.

Исправление praseodim, :

По-моему, автор хотел, чтобы это на макросах записали. И никаких размышлений насчет типов данных. Какие надо, такие и будут =)

#include<stdio.h>

#define is_contained(h0, hlen, q0, qlen) ((q0 >= h0) && ((q0 + qlen) <= (h0 + hlen)))

int main()
{
  int a = is_contained(11,20,4,10);
  int b = is_contained(1,30,4,15);
  printf("\na = %d  b = %d\n",a,b);
  return 0;
}

Результат:

./a.out 

a = 0  b = 1

Исходная версия praseodim, :

По-моему, автор хотел, чтобы это на макросах записали.

#include<stdio.h>

#define is_contained(h0, hlen, q0, qlen) ((q0 >= h0) && ((q0 + qlen) <= (h0 + hlen)))

int main()
{
  int a = is_contained(11,20,4,10);
  int b = is_contained(1,30,4,15);
  printf("\na = %d  b = %d\n",a,b);
  return 0;
}

Результат:

./a.out 

a = 0  b = 1