蔡雪敏小雪演过的电影:字符串的输入和输出

来源:百度文库 编辑:九乡新闻网 时间:2024/10/04 07:19:30
C语言字符串的输入和输出

字符串的输入和输出

%c 人为加入\0进行输入输出
%s 直接输入输出

*输入输出字符串时字符数组应有足够的存储空间,指针变量作为输入项时,指针必须已经指向确切的、足够大的存储空间

%s的使用
scanf("%s",地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
例:
   char str[15];
   scanf("%s",str);
   abc 123

1.不读入空格和回车,从空格处结束
2.输入字符串长度超过字符数组元素个数,不报错
3.当输入项为字符指针时,指针必须已指向确定的有足够空间的连续存储单元
4.当为数组元素地址时,从此元素地址开始存放

printf("%s",地址值)
输出时遇到第一个'\0'为止

gets和puts函数
开头必须stdio.h
#include "stdio.h"
1.gets(地址值)
地址值:字符数组名、字符指针、字符数组元素的地址

例:
 char str[10];
 gets(str);
包括空格符

2.puts(字符串起始地址)
遇第一个'\0'结束,自动加入换行符

字符串数组:数组中每个元素都是一个存放字符串的数组
可以将一个二维数组看作是字符串数组
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]);
pa[2]中的地址未变,仍指向具有4个元素的无名字符数组,只能在一行上输入包含3个字符的字符串
*(pa[2]+1)、pa[2][1]、等形式引用pa数组所指字符串的字符

字符串处理的函数
以string.h开头
1.字符串复制 strcpy(s1,s2)
s2复制到s1  s1空间要足够大
2.字符串连接 strcat(s1,s2)
 s2连接到s1 覆盖s1后的'\0'   s1足够大
3.求字符串长度 strlen(s) 不包括'\0'
4.字符串比较 strcmp(s1,s2)
  s1>s2 返回正数
  s1==s2 返回0
  s1  abc123    abc234