字符串(字符串用" ",字符用‘ ‘)
定义:由双引号引起来的一串字符称为字符串字面值,简称字符串
例如:"abcdef","hello world"," "(空字符串),....
下面举几个例子,看如何将字符串写入代码
①
#include<stdio.h> int main() { char arr[] = "abc"; //把字符串abc存到char类型的数组arr中 printf("%s\n",arr); //%s-打印字符串 return 0; }
②
#include<stdio.h> int main() { char arr1[] = "abc"; char arr2[] = {‘a‘,‘b‘,‘c‘}; printf("%s\n",arr1); printf("%s\n",arr2); return 0; }
输出结果为:
点击调试→窗口→自动窗口,可以看到当前窗口上下文变量的值(在这里即为arr1和arr2的值),点击变量前面的加号,可以看到arr1的值有4个元素,arr2的值有3个元素输出图为:
由此可见,arr1比arr2多了一个0,若将arr2的数组中加上一个0那么arr1和arr2的运行结果相同,所以这个0多我们的输出结果特别重要,代码如下:
③
1 #include<stdio.h> 2 int main() 3 { 4 char arr1[] = "abc"; 5 char arr2[] = {‘a‘,‘b‘,‘c‘,‘\0‘}; 6 //或char arr2[] = {‘a‘,‘b‘,‘c‘,0}; 7 printf("%s\n",arr1); 8 printf("%s\n",arr2); 9 return 0; 10 }
打印结果为
实际上,这个字符串不仅有a,b,c,它里面有‘a‘,‘b‘,‘c‘,‘\0‘,在字符串的末尾有一个‘\0‘,‘\0‘,这个字符的值为0,‘\0‘的作用为字符串的结束标志,因此arr2后面无‘\0‘,所以会继续向后打印,打印的都是一些随机值,直至遇到0结束打印。
注:1.字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候,\0只是结束标志不算字符串内容。
2.计算机在存储字符时,要将字符编一个值存入计算机中,每一个字符都设定一个值,这个值即为ASCII码值。
④
#include<stdio.h> #include<string.h> //引用strlen的头文件 int main() { char arr1[] = "abc"; char arr2[] = {‘a‘,‘b‘,‘c‘}; printf("%d\n",strlen(arr1)); //strlen——string(字符串) length(长度) //是用来计算字符串长度的关键字 printf("%d\n",strlen(arr2)); return 0; }
打印结果为
由代码证明,数组arr2在经历了15个随机值后遇\0停止。
原文:https://www.cnblogs.com/lwawsy/p/14683412.html