字符串
主要内容
字符数组
字符串
指针与字符串
字符数组
字符数组的定义
与前述数组的定义相同,
如 char c[10];
char c[11]={“I am happy”}
字符数组的初始化
char a[10]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm'};
1)按单个字符进行
2)按字符串进行
自动加一个′\0′
a[10]改为 a[9]?
观察
c[11]改为 c[10]?
观察
字符数组的引用
例输出一个字符数组。
程序如下:
#include <>
void main()
{
char c[10]={'I', ' ' ,'a','m','a',' ', 'b', 'o', 'y'};
int i;
for(i=0;i<10;i++)
printf("%c",c[i]);
printf("\n");
}
运行结果:I am a boy
printf(“%s”,c) ;
输出字符串
字符串和字符串结束标志
为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”——‘\0’。
字符数组并不要求它的最后一个字符为′\0′,甚至可以不包含′\0′。
但是由于系统对字符串常量自动加一个′\0′。因此,为了使处理方法一致,在字符数组中也常人为地加上一个′\0′例如:char c[6]={′C′,′h′,′i′,′n′,′a′,′\0′};
字符数组的输入输出
逐个字符输入输出。如用格式符“%c”或getchar()/putchar() 输入输出一个字符。
2) 将整个字符串一次输入或输出。如用“%s”格式符,意思是对字符串的输入输出。
例如: char c[10];
scanf("%s", c);
例如: char c[6]={"China"}; printf("%c%c%c%c%c", c[0],c[1],c[2],c[3],c[4]);
putchar(c[2]);
以下程序的输出?
#include<>
void main()
{
char tmp[7] = {'C','h','i','n','a'};
printf("%s" ,tmp);
}
以下程序的输出?
#include<>
void main()
{
char tmp[5] = {'C','h','i','n','a'};
printf("%s" ,tmp);
}
说明:
用“%s”格式符输出字符数组(字符串)时
(1)如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。
(2)输出字符不包括结束符′\0′。
(4)如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。
(5)可以用scanf函数输入一个字符数组(字符串)
字符串与指针 来自淘豆网www.taodocs.com转载请标明出处.