不包含头文件在Dev c++和vc++用strcmp()也行,为什么

YogiLai 2009-04-01 05:27:29
如题
...全文
1269 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Momo 2011-05-08
  • 打赏
  • 举报
回复
我用C-Free5.0,不包含cstring,也是一样可以用strcmp()
daliancat1984 2010-06-29
  • 打赏
  • 举报
回复
我用的就是.cpp 文件,但是也发现不包含可以编译成功。
但是若是换了别的编译器,这个是必报的错误~~
jackyjkchen 2010-04-18
  • 打赏
  • 举报
回复
如果你是.C文件确实可以,编译器会自动包含stdlib.h,这个也有string系列函数的声明

.cpp就不行了
wanghuiru 2010-04-18
  • 打赏
  • 举报
回复
确实是,我也发现这个问题了,很诡异!用的VC6.0的平台。
YogiLai 2009-04-20
  • 打赏
  • 举报
回复
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
char *cs="i";
char *cs2="2";
int i=strcmp(cs,cs2);
cout<<i<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
我用的是dev c++4.9.9.2版vc++6.0也可以,不信大家可以试试
  • 打赏
  • 举报
回复
strcmp,如果你包含了<string.h>也是可用的
windsting 2009-04-01
  • 打赏
  • 举报
回复
如果你的源文件扩展名是.c,那么编译器会按照c标准来编译,
而c的标准中,如果用了c的运行时库里的函数,并非必须包含其声明,
编译器会帮你找到它,如果你的源文件扩展名是.cpp我就不知道为什么了。
hemiya 2009-04-01
  • 打赏
  • 举报
回复
strcmp()
引用了<cstring>和<string>哪个都可以
luojc714 2009-04-01
  • 打赏
  • 举报
回复
那个编译器哦?
lingyin55 2009-04-01
  • 打赏
  • 举报
回复
有可能可以,因为有些编译器会自动把一些常用的头文件预先包含了。
zbing0203 2009-04-01
  • 打赏
  • 举报
回复
你确定?
mengde007 2009-04-01
  • 打赏
  • 举报
回复
楼主试试……

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧