const修饰的变量或对象的值不变,保护变量或对象的内容不会在被调用期间修改
1、字符串连接函数strcat
函数原型为strcat(char[],const char[])
第2个字符数组被声明为const,以保证数组中的内容不会在函数被调用期间被修改
那么,为什么不把第1个字符数组也声明为const呢?
为了使第2个数组中的内容覆盖第一个数组末尾的'\0',字符串是否结束的标志是'\0'的位置,如果一个数组中包含一个以上'\0',则遇到第一个'\0'时就结束
#include <iostream>
using namespace std;
int main() {
char a[30]="i love ";//要保证数组长度足够容纳两者两加
char b[] = "china";
cout << strcat(a, b)<< endl;
return 0;
}
2、字符串复制函数strcpy
函数原型strcpy(char[],const char[])
第2个字符数组不改变,将第1个字符数组中相应字符覆盖
#include <iostream>
using namespace std;
int main() {
char a[100];
char b[] = "i love china";
strcpy(a, b);
cout << a<< endl;
return 0;
}
3、字符串比较函数strcmp
函数原型strcmp(const char[],const char[])
目的是比较这两个字符串,因此都应该是只比较而不改变