q2419068625 发表于 2018-10-15 15:52:45

定义了变量max,然后程序无法知道max

#include<stdio.h>
int main()
{
        int max(int x,int y);
        int a,b,c;
        scanf("%d,%d",&a,&b);
        c=max(a,b);
        printf("max=%d\n",c);
        return 0;
       
}



错误:undefined reference to `max'

ba21 发表于 2018-10-15 16:05:17

敢问你MAX定义在哪里了?
#include<stdio.h>
int main()
{
      int max(int x,int y); // 声明
      int a,b,c;
      scanf("%d,%d",&a,&b);
      c=max(a,b);
      printf("max=%d\n",c);
      return 0;
      
}

// 定义(定义 就是具体的实现部份)
int max(int x, int y)
{
        return 0;
}

pheron 发表于 2018-10-15 16:18:28

int max(int x,int y);       这句的意思是声明max()函数,然后,你的变量max定义在了哪里?

pheron 发表于 2018-10-15 16:25:46

你想要的效果是这样的吧?比较两数的大小,输出大的
#include<stdio.h>

int max(int x,int y);
int main()
{
      int a,b,c;
      scanf("%d,%d",&a,&b);
      c=max(a,b);
      printf("max=%d\n",c);
      return 0;
}

int max(int x, int y)
{
      int i;
      if(x > y)
         i = x;
      else if(x < y)
         i = y;
      else i = 0;
      return i;
}
页: [1]
查看完整版本: 定义了变量max,然后程序无法知道max