快速提问:
strlen[char*]
无论我是否 #include <string.h>
都能完美运行还是不是
我从编译器得到的只是关于隐式声明的警告,但在功能上它按预期工作。
这是为什么?
最佳答案
当您调用未定义的行为时,一种可能的行为是程序按照您的预期运行,您的系统,并且使用当前版本 您已安装的库和系统软件。这并不意味着可以这样做。实际上,正确的 C99 编译器不应该允许隐式函数声明;它应该给你一个错误。
关于c - 为什么 strlen 函数在没有 #include<string.h> 的情况下也能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805911/