文章目录
字符串和字符串结束标志
在c语言中是将字符串作为字符数组来处理的,字符串中的字符是逐个放入数组中的。需要理解的是字符串的实际长度与数组的长度的区别;
字符串的实际长度是我们输入字符串的长度,有多少个字符就有多长,而数组的长度是指定义数组时(c[15]这里的15就是数组的长度)所规定的长度;
c系统在用字符数组存储字符串常量时会自动加一个‘\0’作为结束符,有了结束符,系统输出时在遇到’\0’是就会自动结束;有了结束符字符数组的长度就显得没有那么重要了,我们只需要保证定义时数组的长度始终大于字符串的实际长度;
了解结束符后可以用一下方法对字符数组进行定义:
char c[]={
"I am happy"};
//或者可以直接省略花括号
char c[]="I am happy";
//注意字符串的两端是用双撇号而不是用单撇号括起来的
而且,这时候数组c的长度不是10,而是11.因为最后由系统自动加了一个‘\0’;
例:
int main()
{
char c[]="c program."; //定义数组
printf("%s\n",c);
system("pause");
return 0;
}
得到以下结果:
如果想用一个新字符串代替原有的字符串"c program.",如从键盘输入“hello”分别赋给c数组中前面5个元素,如果不加‘\0’的话代码和结果如下:
int main()
{
char c[]="c program.";
for(int i=0;i<5;i