调用rand/srand函数编译报错,ISO C99不支持隐式函数声明
问题解决:rand/srand函数未声明编译错误
你遗漏了包含**<stdlib.h>头文件**——rand()和srand()这两个随机数操作函数的声明定义在该头文件中。
在C99及后续的C语言标准里,编译器不再允许隐式函数声明(即直接调用未提前声明的函数),所以直接调用srand和rand会触发编译错误。而VSCode的默认运行命令可能使用了兼容旧C标准(如C89)的编译选项,旧标准允许隐式函数声明,因此能正常编译。
修正后的代码如下:
#include <stdio.h> #include <stdlib.h> // 新增:引入rand、srand函数的声明头文件 int main(void) { srand(0); printf("%i", rand()); }
内容的提问来源于stack exchange,提问作者Alex Ironside
相关产品推荐
相关产品推荐

