令字符串及其结束标志 ●无字符串变量,用字符数组处理字符串 ●字符串结束标志 例 “hello”共5个字符,在内存占6个字节 字符串长度5 h 0 \0 104101108108 111 0 内存存放字符ASCⅡ码
字符串 ❖字符串及其结束标志 ⚫无字符串变量,用字符数组处理字符串 ⚫字符串结束标志:‘\0’ 例 “hello”共5个字符,在内存占6个字节 字符串长度5 h e l l o \0 104 101 108 108 111 0 内存存放字符ASCII码
学符串的输入输出 ●逐个字符I/O:%c ●整个字符串I/O:%s 用字符数组名,不要加& 例 用%c 输入串长度<数组维数 main() 遇空格或回车结束 char str[5]; 自动加0 int i; 例 用%s &str的) main() { char str[5]; scanf(%s”,str)j r[]) printf%s”,str) 用字符数组名 遇0结束
❖字符串的输入输出 ⚫逐个字符I/O: %c ⚫整个字符串I/O: %s 例 用%c main() { char str[5]; int i; for(i=0;i<5;i++) scanf(“%c”, &str[i]); for(i=0;i<5;i++) printf(“%c”, str[i]); } 例 用%s main() { char str[5]; scanf(“%s”, str); printf(“%s”, str); } 用字符数组名,不要加& 输入串长度<数组维数 遇空格或回车结束 自动加‘\0’ 用字符数组名, 遇‘\0’结束
例 main()】 { char a[5]={H,'e,1,1',o} printf%s”,ai 结果:Hello#=* 用%”输出时,遇0结 例 main()) {char a[]=“Hello”, printf%s”,a): 结果:Hello
例 main( ) { char a[5]={‘H’,’e’,’l’,’l’,’o’}; printf(“%s”,a); } 例 main( ) { char a[ ]=“Hello”; printf(“%s”,a); } 结果:Hello#-=* h e l l o 0 1 2 3 4 结果:Hello 用“%s”输出时,遇‘\0’结 束
例 mainO { char a]={h,'e',I,0','o',"0' printf("%s",a), 输出:hel 数组中有多个0'时, 遇第一个结束 米的
main() { char a[]={'h','e','l','\0','l','o','\0'}; printf("%s",a); } 例 输出:hel h e l \0 l o \0 数组中有多个‘\0’时, 遇第一个结束