Member 14065365 Ответов: 3

Как мне...запустить эту программу, пытаясь изучить программирование на языке Си


/* local variable definition */
int max(int num1, int num2);
 
int main () {

  
  int a = 100;
   int b = 200;
   int ret;
 
   /* calling a function to get max value */
   ret = max(a, b);
 
   printf( "Max value is : %d\n", ret );
 
   return 0;
//error is underdefined reference to max
//1 id returned 1 exit status
}


Что я уже пробовал:

/* определение локальной переменной */
int max(int num1, int num2);

тап_п () {


int a = 100;
int b = 200;
int ret;

/* вызов функции для получения максимального значения */
ret = max(a, b);

printf( "максимальное значение : %d\n", ret );

возвращает 0;
//error - это недоопределенная ссылка на max
//1 id возвращен 1 статус выхода
}

3 Ответов

Рейтинг:
2

RickZeeland

#include <stdio.h>

int max(int num1, int num2)
{
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
};

int main() {
int a = 100;
int b = 200;
int ret;

/* calling a function to get max value */
ret = max(a, b);

printf( "Max value is : %d\n", ret );

return 0;
}


Рейтинг:
2

OriginalGriff

max это не встроенная функция в C - вам нужно определить ее самостоятельно.
Самый простой способ это добавить эту строку чуть выше main функция:

#define max(a, b) (a >= b ? a : b)


Рейтинг:
0

CPallini

#include <stdio.h>

/* max function declaration */
int max(int num1, int num2);

int main ()
{
  int a = 100;
  int b = 200;
  int ret;

  /* calling a function to get max value */
  ret = max(a, b);
  printf( "Max value is : %d\n", ret );

  return 0;
}


/* max function definition */
int max( int num1, int num2)
{
  return num1 > num2 ? num1 : num2;
}