字符串与指针王贤明内容提要?回顾字符串?回顾指针?指针下的字符串表示回顾字符串回顾字符串字符串?C中无字符串类型,有两种方式表达字符串?双引号?字符数组printf(“haha!hehe!!heihei!!!”);思考: “a” & ‘a’同不?printf(“haha!hehe!!heihei!!!”);思考: “a” & ‘a’同不?static char s[8]={‘h’,’a’,’h’,’a’};//okstatic char s[]={‘h’,’a’,’h’,’a’}; //badstatic char s[]={‘h’,’a’,’h’,’a’,’\0’}; //okstatic char s[]={“haha”};static char s[]=“haha”;static char s[8]={‘h’,’a’,’h’,’a’};//okstatic char s[]={‘h’,’a’,’h’,’a’}; //badstatic char s[]={‘h’,’a’,’h’,’a’,’\0’}; //okstatic char s[]={“haha”};static char s[]=“haha”;字符串?注?当采用字符数组定义字符串时,若采用逐个字符的初始化方式?要么指定字符数组的大小(只要容纳的下即可,即字符数组只有2个字符,但可以定义大小为大于2的值)?要么不指定字符数组大小,但显示在初始化字符最后手工添加‘\0’字符串的存储及长度?字符串存储的过程中,系统会自动在字符串的最后补‘\0’,?该字符不会被计入字符串的长度?系统在字符串处理过程(输出,比较)中遇’\0’结束?若字符数组定义的长度大于真实容纳的字符数,则字符数组后面的所有空位都补’\0’?字符串中若有转义符,真实长度<>视觉长度?转义符视觉长度2,真实长度1//长度测试1printf("%d\n",strlen( "Hello, world"));printf("%d\n",strlen( "Hello\0, world"));printf("%d\n",strlen( "Hello, world\n"));//长度测试1printf("%d\n",strlen( "Hello, world"));printf("%d\n",strlen( "Hello\0, world"));printf("%d\n",strlen( "Hello, world\n"));字符串的输入输出?快捷的方式是使用%s 格式符?在使用该格式符时,输入输出的对象是字符数组的名字(无需再加& ,为啥?)?注意:若输入的字符串有空格,则要以空格为分隔符,每个分隔部分分别输入字符串的输入输出思考:如果需要输入字符串”wa haha”,下述是否可行?char s[15];scanf("%s",s);printf("%s",s);思考:如果需要输入字符串”wa haha”,下述是否可行?char s[15];scanf("%s",s);printf("%s",s);字符串的输入输出思考:如果需要输入字符串”wa haha”,下述是否可行?参考答案:char s[15],s1[16];;scanf("%s %s",s,s1);printf("%s %s",s,s1);思考:如果需要输入字符串”wa haha”,下述是否可行?参考答案:char s[15],s1[16];;scanf("%s %s",s,s1);printf("%s %s",s,s1);
字符串与指针-课件PPT(演示稿) 来自淘豆网www.taodocs.com转载请标明出处.