| 字符串的輸入和輸出 %c 人為加入\0進(jìn)行輸入輸出 %s 直接輸入輸出 *輸入輸出字符串時(shí)字符數組應有足夠的存儲空間,指針變量作為輸入項時(shí),指針必須已經(jīng)指向確切的、足夠大的存儲空間 %s的使用 scanf("%s",地址值) 地址值:字符數組名、字符指針、字符數組元素的地址 例: char str[15]; scanf("%s",str); abc 123 1.不讀入空格和回車(chē),從空格處結束 2.輸入字符串長(cháng)度超過(guò)字符數組元素個(gè)數,不報錯 3.當輸入項為字符指針時(shí),指針必須已指向確定的有足夠空間的連續存儲單元 4.當為數組元素地址時(shí),從此元素地址開(kāi)始存放 printf("%s",地址值) 輸出時(shí)遇到第一個(gè)'\0'為止 gets和puts函數 開(kāi)頭必須stdio.h #include "stdio.h" 1.gets(地址值) 地址值:字符數組名、字符指針、字符數組元素的地址 例: char str[10]; gets(str); 包括空格符 2.puts(字符串起始地址) 遇第一個(gè)'\0'結束,自動(dòng)加入換行符 字符串數組:數組中每個(gè)元素都是一個(gè)存放字符串的數組 可以將一個(gè)二維數組看作是字符串數組 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個(gè)元素的無(wú)名字符數組,只能在一行上輸入包含3個(gè)字符的字符串 *(pa[2]+1)、pa[2][1]、等形式引用pa數組所指字符串的字符 字符串處理的函數 以string.h開(kāi)頭 1.字符串復制 strcpy(s1,s2) s2復制到s1 s1空間要足夠大 2.字符串連接 strcat(s1,s2) s2連接到s1 覆蓋s1后的'\0' s1足夠大 3.求字符串長(cháng)度 strlen(s) 不包括'\0' 4.字符串比較 strcmp(s1,s2) s1>s2 返回正數 s1==s2 返回0 s1<s2 返回負數 abc123 abc234 |