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是测量字符串的长度的。ide


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

相关文章
相关标签/搜索