C++ 字符串的声明和赋值 以及易错点

C++的字符串,不仅初学者常犯错误,连老手都会出错。

所以我想系统的把一些基本知识和易错点都写出来,仅供参考

char a [5]={‘H’,’E’,’L’,’L’,’O’};//只能在数组声明时使用

当然,可以省去声明长度。

char a[] ={‘H’,’E’,’L’,’L’,’O’};

char a[]="HELLO"; 和char a[]="HELLO\0";等价

{"HELLO"};

{‘H’,’E’,’L’,’L’,’O’};//逐个赋值

char a[5]={"HELLO"}

char b[5];

a=b; //错误

a[0]=b[0]; //正确

另外的赋值方式,通过strcpy(b,a),在使用strpcy时要用Library—–cstring

char s[40];

strcpy(s,"HELLO");

char s[40];

cout<<"input";

gets(s);

易错情况:

1:在逐个赋值时,忘记给末尾的字符后面加\0,否则会输出错误

char a[10];

2: a[10]="HELLO’; //此时会出现错误,因为a[10]属于一种字符,而字符不能容纳一个字符串

3: a="HELLO"; //此时,,a属于一个指针

4:使用“==”来比较两个字符串,这时会出现错误,因为两个地址一定不同,所以一定会输出0;在这时,应该使用strcmp(str1,str2)

但我们好多人没想过,勇敢的冷静的理智的去接受失败,

C++ 字符串的声明和赋值 以及易错点

相关文章:

你感兴趣的文章:

标签云: