c语言字符串的结束标志

字符串的创建方式

  1. char str[] = "abc";
  2. char str1[] = {'a','b','c'};

    字符串创建方式的区别。

    c语言的字符串在尾部有个隐藏的结束标志:'\0'。这个标志在ASCII码里的值是:0。\0只是结束标志,不算是字符串的内容。
    第1个创建方式在:printf("%s\n",str);和printf("%d\n",strlen(str));都不会出现问题,正常会分别输出abc和3。
    注:%s是用来输出一个字符串。strlen是测量字符串的长度的。


第2个创建方式在printf("%s\n",str1);和printf("%d\n",strlen(str1));时会出现问题。因为第二个创建方式在赋值时没有给它一个结束标志,它不像1一样会有个默认的结束标志。在这里,会分别输出乱码和不能确定的长度。
解决:char str1[] = {'a','b','c',0};或char str1[] = {'a','b','c','\0'};就行。

猜你喜欢

转载自blog.51cto.com/15019159/2557586
今日推荐