C++中字符数组赋值问题

    技术2022-07-16  63

    对于字符数组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

    Processed: 0.008, SQL: 9