一:字符数组的输入输出可以有两种方法:
(1)将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串(string)的输入输出
(2)逐个字符输入输出。用格式符“%c”输入或输出一个字符
注意:scanf函数中的输入项如果是字符数组名,不要再加地址符&.,因为在C语言中数组名代表该数组第一个元素的地址或者说数组的起始地址
下面写法不正确:scanf("%s",&str)
二:使用字符数组处理函数
1:
puts(字符数组)
作用是在终端上输出字符串。
2:
gets(字符数组)
其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符的起始地址。如执行下面的函数:
gets(str); //str 是已定义的字符数组
ps:返回的函数值是字符数组str的第一个元素的地址
3:
strcat函数(连接函数)
strcat(字符数组1,字符数组2)
strcat 是STRing CATenate(字符串连接)的缩写。其作用是把两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。
4:
strcpy 和strncpy函数(字符串复制函数)
strcpy(字符数组1,字符串2)
strcpy 是STRingCoPY(字符串复制)的简写。它表示“字符串复制函数”,作用是将字符串复制到字符数组1中去。
5:
strcmp 函数(字符串比较函数
其一般形式为:strcmp(字符串1,字符串2)
strcmp是STRing CoMPare(字符串比较)的缩写。它的作用是比较字符串1和字符串2
比较的结果由函数值带回
(1)如果字符串1与字符串2相同,则函数值为0。(2)如果字符串1>字符串2,则函数值为一个正整数。
(3)如果字符串1<字符串2,则函数值为一个负整数。注意:对两个字符串比较,不能用以下形式:
if(strl>str2)
printf("yes");
因为strl和str2代表地址而不代表数组中全部元素,而只能用
if(strcmp(strl,str2)>0)
printf("yes");
6.
strlen函数(测字符串长度的函数)
其一般形式为:strlen(字符数组)
strlen是STRing LENgth(字符串长度)的缩写。它是测试字符串长度的函数。函数的值为
字符串中的实际长度(不包括'0'在内)
串1和字符串2。
ps:按ASCII码值
7.
strlwr 函数(转换为小写的函数)
其一般形式为:Ostrlwr(字符串)
strlwr是STRing LoWeRcase(字符串小写)的缩写。函数的作用是将字符串中大写字母换成小写字母。
8.
strupr函数(转换为大写的函数)
其一般形式为:strupr(字符串)
strupr 是STRing UPpeRcase(字符串大写)的缩写。函数的作用是将字符串中小写字母换成大写字母。