3

我一直在做很多研究ULONG_MAX并试图找出如何声明它,但它似乎不起作用。我使用标题#include <stdio.h>#include <limits.h进行ULONG_MAX工作。在线没有什么太多ULONG_MAX,所以这让我很难使用它。我觉得我用ULONG_MAX错了。

问题:如何申报ULONG_MAX

示例代码

#include <stdio.h>
#include <limits.h>

main(){
  ULONG_MAX number;

  return 0;
}

错误

gcc version 4.6.3

main.c:4:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main(){
 ^~~~
main.c: In function 'main':
main.c:5:13: error: expected ';' before 'number'
   ULONG_MAX number;
             ^~~~~~
main.c:6:3: error: 'num' undeclared (first use in this function)
   num = ULONG_MAX;
   ^~~
main.c:6:3: note: each undeclared identifier is reported only once for each function it appears in

exit status 1

我正在使用的编译器:Repl.it

4

1 回答 1

4

ULONG_MAX不是类型,它是类型允许的最大值unsigned long,通常定义为:

#define ULONG_MAX 0xFFFFFFFFUL

因此,从语义上讲,以下之间没有区别:

ULONG_MAX number;

和明显不正确的:

42 number;

为了使用该值,您可以执行以下操作:

unsigned long bigVal = ULONG_MAX;
于 2017-04-04T01:30:00.433 回答