C语言字符串的输入和输出
字符串的输入和输出
%c人为加入\0进行输入输出
%s直接输入输出
*输入输出字符串时字符数组应有足够的存储空间,指针变量作为输入项时,指针必须已经指向确切的、足够大的存储空间
%s的使用
scanf("%s",地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
例:char str[15];
scanf("%s",str);
abc123
1.不读入空格和回车,从空格处结束
2.输入字符串长度超过字符数组元素个数,不报错
3.当输入项为字符指针时,指针必须已指向确定的有足够空间的连续
存储单元
4.当为数组元素地址时,从此元素地址开始存放
2.printf("%s",地址值)
输出时遇到第一个'\0'为止
3.gets和puts函数
开头必须stdio.h
#include"stdio.h"
1.gets(地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
4.当为数组元素地址时,从此元素地址开始存放
5.printf("%s",地址值)
输出时遇到第一个'\0'为止
6.gets和puts函数
开头必须stdio.h
#include"stdio.h"
1.gets(地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
7.例:
char str[10];
gets(str);
包括空格符
8. 2.puts(字符串起始地址)
遇第一个'\0'结束,自动加入换行符
9.字符串数组:数组中每个元素都是一个存放字符串的数组
可以将一个二维数组看作是字符串数组
10.char ca[3][5]={"A","BB","CCC"};
A\0
B B\0
C C C\0
字符型指针数组
char*pa[3]={"a","bb","ccc"};
pa[0]pa[1]pa[2]
可以重新赋值gets(pa[2]);
11.pa[2]中的地址未变,仍指向具有4个元素的无名字符数组,只能在
一行上输入包含3个字符的字符串
*(pa[2]+1)、pa[2][1]、等形式引用pa数组所指字符串的字符
12.字符串处理的函数
以string.h开头
13.pa[2]中的地址未变,仍指向具有4个元素的无名字符数组,只能在
一行上输入包含3个字符的字符串
*(pa[2]+1)、pa[2][1]、等形式引用pa数组所指字符串的字符
14.字符串处理的函数
以string.h开头。