小编Bre*_*dan的帖子

从random()到int的转换结果导致GCC说"警告:隐式函数定义".为什么?

可能重复:
为什么在设置-std = c99时gcc不能找到random()接口?

我是C的新手,所以我进入man stdlib.h,搜索"随机",看到它random()返回了long,因为它只是一个学习练习,以为我只是转换为int(而不是费心去查找一个返回int- rand()是一个).

无论如何,程序编译并正确运行.但:

$ gcc -std=c99 part1.c
part1.c: In function 'main':
part1.c:44:5: warning: implicit declaration of function 'random'
Run Code Online (Sandbox Code Playgroud)

如果我移除-std=99旗帜就会消失.这是"违规"代码:

  int test6[1000];
  for(i = 0; i < 1000; i++)
  {
    test6[i] = (int) random();
    printf("it is %d\n", test6[i]); //check random() is working (it isn't seeded)
  }
  printf("%d\n", largest(test6, 1000));
Run Code Online (Sandbox Code Playgroud)

所以我只是想知道是否有人知道这是为什么,因为我认为这可能很有趣.

c gcc c99 gcc-warning

2
推荐指数
1
解决办法
1646
查看次数

标签 统计

c ×1

c99 ×1

gcc ×1

gcc-warning ×1