使用vs2013编写c语言程序 为啥 会出现max函数没有被定义error

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用vs2013编写c语言程序 为啥 会出现max函数没有被定义error相关的知识,希望对你有一定的参考价值。

使用vs2013编写c语言程序
为什么 会出现max函数没有被定义error

参考技术A 这个是函数声明有问题,两种解决办法:
第一种:把int max(int x,int y)整个函数放在main函数上面
第二种:在main函数上面加一句 int max(int x, int y); 的函数声明
参考技术B 错误说明中说scanf这个函数可能不安全,建议你用scanf_s代替追问

你说的正解

本回答被提问者采纳

为啥 INT_FAST16_MAX 被定义为 INT32_MAX (VS 2015)?

【中文标题】为啥 INT_FAST16_MAX 被定义为 INT32_MAX (VS 2015)?【英文标题】:Why INT_FAST16_MAX is defined as INT32_MAX (VS 2015)?为什么 INT_FAST16_MAX 被定义为 INT32_MAX (VS 2015)? 【发布时间】:2017-10-26 22:04:45 【问题描述】:

我从 visual studio 2015 打开 "stdint.h" 文件,如下图所示,我注意到 INT_FAST16_MAX 定义为 INT32_MAX。和未签名的一样。为什么会这样?

但最少的定义如预期。 (下)

#define INT_LEAST16_MAX  INT16_MAX
#define UINT_LEAST16_MAX UINT16_MAX

【问题讨论】:

因为 int_fast16_t 和 int32_t 一样? 因为尺寸是实施-#define'd。 为什么不呢?在这个平台上int32_fast_t 恰好与int32_t 相同。没有错。 【参考方案1】:

INT_FAST16_MAX 是可以存储在int_fast16_t 变量中的最大值。

int_fast16_t 保证是最快的 int,大小为至少 16 位。

因为 MSVC 的目标机器具有 32 位通用寄存器,其访问速度比 16 位快,所以int_fast16_t 实际上是一个 32 位整数。因此,INT_FAST16_MAXINT32_MAX

另见:

What's the difference between "int" and "int_fast16_t"?

【讨论】:

以上是关于使用vs2013编写c语言程序 为啥 会出现max函数没有被定义error的主要内容,如果未能解决你的问题,请参考以下文章

为啥用VS2010编写C语言时会出现此项目已过期(会出现1- debug Win32)?

在vs里写c语言,为啥会出现这样的错误呢?

用vs2019编写c语言程序,明显语法错误为啥不回报错,没有加return 0;

使用VS2013编写c++程序时怎样检测内存泄漏

如何使用VS2013编写C语言? 包括编译连接和运行测试.

VS2010 编写c语言变量为啥要初始化?