本文主要是介绍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++ 字符串的声明和赋值 以及易错点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!