对于字符数组char var[]而言,赋单个字符的时候,一定要加上'\0',否则会 产生赋值错误。
strlen不将'\0'计入长度之内;
#include <iostream>
#include<string.h>
using namespace std;
//为什么在这里我没有对b重复赋值
int main()
{
char a[]={"hello"};
char b[]={'h','e','l','l','o','\0'};
char c[]={'h','e','l','l','o'};
//puts(b);
//puts(c);
for(int i=0;i<strlen(b);i++)
cout<<b[i]<<" ";
cout<<endl;
//cout<<"a is:"<<a<<'\t'<<"strlen a is: "<<strlen(a)<<endl;
cout<<"b is:"<<b<<'\t'<<"strlen b is: "<<strlen(b)<<endl;
cout<<"b len is:"<<sizeof(b)/sizeof(char)<<endl;
cout<<c<<endl;
return 0;
}
输出结果:
h e l l o
b is:hello strlen b is: 5
b len is:6
hellohello