下面介紹的兩個字元處理函式都是在stdio.h標頭檔案中宣告的。
putchar(65); // a上面的3種用法,輸出的都是大寫字母a。putchar('a'); // a
int a = 65;
putchar(a); // a
*putchar一次只能輸出乙個字元,而printf可以同時輸出多個字元
printf("%c %c %c", 'a', 'b', 'a');
char c;getchar會將使用者輸入的字元賦值給變數c。c = getchar();
* getchar函式可以讀入空格、tab,直到遇到回車為止。scanf則不能讀入空格和tab。
*getchar一次只能讀入乙個字元。scanf則可以同時接收多個字元。
* getchar還能讀入回車換行符,這時候你要敲2次回車鍵。第1次敲的回車換行符被getchar讀入,第2次敲的回車鍵代表輸入結束。
下面介紹的字串處理函式都是在string.h標頭檔案中宣告的,使用前要包含這個標頭檔案。
* 這個函式可以用來測量字串的字元個數,不包括\0
1 int size = strlen("mj"); // 長度為2看一下第7行,strlen函式會從s2的首位址開始計算字元個數,直到遇到空字元\0為止。因為s2的第1個\0之前只有mj這2個字元,所以長度為2。2 3 char s1 = "lmj";
4 int size1 = strlen(s1); // 長度為3
5 6 char s2 = ;
7 int size2 = strlen(s2); // 長度為2
1 char s[10];strcpy函式會將右邊的"lmj"字串拷貝到字元陣列s中。從s的首位址開始,逐個字元拷貝,直到拷貝到\0為止。當然,在s的尾部肯定會保留乙個\0。2 strcpy(s, "lmj");
* 假設右邊的字串中有好幾個\0,strcpy函式只會拷貝第1個\0之前的內容,後面的內容不拷貝
1 char s[10];最後字串s中的內容為:mj2 char c = ;
3 strcpy(s, c);
char s1[30] = "love";strcat函式會將右邊的"oc"字串拼接到s1的尾部,最後s1的內容就變成了"loveoc"strcat(s1, "oc");
strcat函式會從s1的第1個\0字元開始連線字串,s1的第1個\0字元會被右邊的字串覆蓋,連線完畢後在s1的尾部保留乙個\0
* 注意下面的情況
1 char s1[30] = ;第1行初始化的s1有2個\0,經過第2行的strcat函式後,輸出結果:2 strcat(s1, "oc");
3 printf("%s", s1);
* 這個函式可以用來比較2個字串的大小
* 呼叫形式為:strcmp(字串1, 字串2)
* 兩個字串從左至右逐個字元比較(按照字元的ascii碼值的大小),直到字元不相同或者遇見'\0'為止。如果全部字元都相同,則返回值為0。
1輸出(dev c++環境):char s1 = "
abc";2
char s2 = "
abc";3
char s3 = "
abc";4
char s4 = "
ccb";5
6 printf("
%d, %d, %d
", strcmp(s1, s2), strcmp(s1, s3), strcmp(s1, s4));
c語言潭浩強那本書是這樣寫的;
str1 == str2 return 0
str1 > str2 return 乙個正數
str1 < str2 return 乙個負數
PLSQL總結 9 字元
字元 begin dbms output.put line to char用法 dbms output.put line to char sysdate,yyyy mm dd hh24 mi ss to char用法 dbms output.put line dbms output.put line...
9 字串排序
字串排序 time limit 1000 ms memory limit 65536 kb description 輸入3個字串,按字典序從小到大進行排序。input 輸入資料有一行,分別為3個字串,用空格分隔,每個字串長度不超過100。output 輸出排序後的三個字串,用空格分隔。sample ...
linux day9 字元處理命令
用法 sort 選項 檔案 root localhost cat sort.txt b 3c 2 a 4e 5 d 1f 11 字元排序 sort root localhost sort sort.txt a 4b 3 c 2d 1 e 5f 11 注意 什 麼都不 加,預設按照 首字 母排序 t ...