#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a, b, c;
int MAX(int x, int y);
scanf("%d,%d", &a, &b);
c = MAX(a, b);
printf("max=%d\n", c);
return 0;
}
错误 LNK2001 无法解析的外部符号 "int __cdecl MAX(int,int)" (?MAX@@YAHHH@Z) 1 C:\Users\panjack\Desktop\1\1\源1.obj 1
错误 LNK1120 1 个无法解析的外部命令 1 C:\Users\panjack\Desktop\1\x64\Release\1.exe 1
提示这俩个该怎么弄??
给MAX一个定义
max应该是一个函数啊,直接调用math.h就行
你自己写的话要把它放在main外面单独定义
【以下回答由 GPT 生成】
在给出具体解决方案之前,我们需要了解这两个错误的原因。
"LNK2001: 无法解析的外部符号"和"LNK1120: 1 个无法解析的外部命令"错误通常是由于函数的声明和定义不一致导致的。
在该问题中,您在main函数内部声明了一个max函数,但并没有提供max函数的具体实现。这导致在链接阶段,编译器无法找到max函数的定义,从而报错。
要解决这个错误,您需要提供max函数的具体实现。下面是具体解决方案。
请将以下代码添加到源文件中:
int MAX(int x, int y)
{
return x > y ? x : y;
}
然后,将整个main函数修改为如下代码:
int main()
{
int a, b, c;
scanf("%d,%d", &a, &b);
c = MAX(a, b);
printf("max=%d\n", c);
return 0;
}
最后,重新编译和运行程序,应该不再报错。
解决方案用markdown格式返回:
## 解决方案
要解决这个错误,您需要提供max函数的具体实现。请将以下代码添加到源文件中:
```c
int MAX(int x, int y)
{
return x > y ? x : y;
}
然后,将整个main函数修改为如下代码:
int main()
{
int a, b, c;
scanf("%d,%d", &a, &b);
c = MAX(a, b);
printf("max=%d\n", c);
return 0;
}
最后,重新编译和运行程序,应该不再报错。 ```
你把 max 的声明拿到 main 函数前一行