包含#include<;iostream.h>;,允许使用字符串函数,如strlen()。为什么? #包括 int main() { 字符名[]=“Mary Mon”; CUT首先,如注释中所指出的,没有标准的头文件名为“代码> > IoSur.H./Cuth>是在C++语言1998标准化之前使用的头文件。当标准发布时,该名称被更改为仅 (没有 h )。

包含#include<;iostream.h>;,允许使用字符串函数,如strlen()。为什么? #包括 int main() { 字符名[]=“Mary Mon”; CUT首先,如注释中所指出的,没有标准的头文件名为“代码> > IoSur.H./Cuth>是在C++语言1998标准化之前使用的头文件。当标准发布时,该名称被更改为仅 (没有 h )。,c++,C++,其次,该标准允许标头包含其他标头(C++03§17.4.4.1/1)。因此,您的标头可能包含,这可能是因为其中的一些模板代码依赖于某些字符串函数。因此,您的代码编译得很干净 然而,您不应该依赖这种行为。为了使您的代码最具可移植性,您应该#包含所需的每个头文件,无论它们是否#通过其他头文件递归地包含。没有。我建议您从这个千年期获得一个编译器。非常非常古老的编译器Enn+C++头可以包括任何其他的头,所以你可能得到一些你没有明确要求的。你应该包括你的程序需要的那些。你试过使用 IoSturi(没有

其次,该标准允许标头包含其他标头(C++03§17.4.4.1/1)。因此,您的
标头可能包含
,这可能是因为其中的一些模板代码依赖于某些字符串函数。因此,您的代码编译得很干净


然而,您不应该依赖这种行为。为了使您的代码最具可移植性,您应该
#包含所需的每个头文件,无论它们是否
#通过其他头文件递归地包含

没有
。我建议您从这个千年期获得一个编译器。非常非常古老的编译器Enn+C++头可以包括任何其他的头,所以你可能得到一些你没有明确要求的。你应该包括你的程序需要的那些。你试过使用<代码> IoSturi(没有<代码> h < />代码)?如果是,它的行为是否与以前相同?我希望它可以在您的编译器中使用。与保证不工作相比,还有更多的东西不能保证工作。您很幸运。
#include<iostream.h>
int main()
{
   char name[] = "Mary Mon";
   cout<<strlen(name);
   return 0;
}