//一,字元處理函式
stdio.h 標頭檔案中宣告的兩個字元處理函式
1,字元輸出函式putchar
prtchar(65);//a
pruchar(『a』);//a
int a = 65;
putchar(a);//a
上面的三種用法,輸出的都是大寫字母a
putchar 一次只能輸出乙個字元,
printf 可以同時輸出多個字元,
printf("%c %c %c",'a','b','c');
2,字元輸入函式getchar
char c;
c = getchar();
getchar會將使用者輸入的字元賦值給變數c
getchar 函式可以讀入空格,tab,直到遇到回車為止。
scanf不能讀入空格,tab
getchar一次只能讀入乙個字元
scanfk可以同時接收多個字元
getchar能讀入回車換行符,這時候要敲2此回車鍵
第一次回車被getchar讀入,
第二次回車代表輸入結束。
//二,字元處理函式
下列字元處理函式都是在string.h 標頭檔案中宣告的
使用前要包含這個標頭檔案。
1,strlen函式
int size = strlen("mj");
char s1 = "lmj";
int size1 = strlen(s1);
char s2 = ;
int size2 = strlen(s2);
strlen 函式會從s2的首位址開始計算字元個數,
直到遇到空字元 \0 為止。
因為s2的第乙個 \0 之前中有 mj 2個字元,所以長度是2。
2,strcpy函式
char s[10];
strcpy(s,"lmj") ;
strcpy函式會將右邊的"lmj"字串拷貝到字元陣列s中。
從s的首位址開始,逐個字元拷貝,直到拷貝到 \0 為止。
當然,s的尾部肯定會保留乙個 \0.
.假設右邊的字串中有好幾個 \0,
strcpy函式只會拷貝第乙個 \0之前的內容,後面的內容不拷貝。
char s[10];
char c=;
strcpy(s,c;)
最後字串s中的內容為:mj
3,strcat函式
char s1[30] = "love";
strcat(s1,"oc");
strcat函式會將右邊的"oc"字串拼接到s1的尾部,
最後s1的內容變成"loveoc"
4,strcmp函式
這個函式用來比較2個字串的大小
呼叫形式為:strcmp(字串1,字串2)
兩個字串從左到右逐個字元比較(按照字元的ascll碼值的大小),
直到字元不相同或者遇見'\0'為止。
如果全部字元都相同,則返回值0.
如果不同,則返回兩個字串中第乙個不相同的字元ascll碼值的差。
即字串1大於字串2時函式返回值為正,否則為負。
char s1 = "abc";
char s2 = "abc";
char s3 = "abc";
char s4 = "ccb";
printf("%d,%d,%d",strcmp(s1,s2),strcmp(s1,s3),strcmp(s1,s4));
s1,s2相同,返回0,
s1,s3第二個字元不相同,
b的ascll碼值是98,
b的ascll碼值是66,
b-b=32,所以返回值是32。
s1,s4是第乙個字元就不相同,
a的ascll碼值是97,
c的ascll碼值是99,
a-c=-2,所以返回值是-2.
程式設計珠璣 第十五章 字串(二)
給定乙個文字作為輸入,找出其中最長的重複字串 1 檢視所有字串,並依次進行比較 for i 1,n for j i,if thielen comlen c i c j maxlen maxlen thielen maxi i maxj j 思路十分簡單,不過由於查詢所有字串對,因此時間最少為n n的...
C 程式語言 第十五章 類層次結構
1 多重繼承 過載解析的使用不會跨越不同類的作用域。使用宣告可以將不同類中的函式引入到乙個公共的作用域。在乙個類定義裡的使用宣告所引用的必須是基類的成員。在任何派生類中的virtual基類總用同乙個 共享 物件表示。虛基類的建構函式將在其派生類的建構函式之前呼叫。多重繼承能使兄弟類之間共享資訊。在覆...
第十五周OJ 字串插入
問題描述 將字串t插入到字串s中,在位置pos後插入。不得使用字串操作函式,輸出組合成的字串。檔名稱 the fifteenth week oj2274 輸入 輸入兩個字串 t和s 和要插入的位置 pos 輸出 輸出組合後的字串 includeint main char t 100 s 100 r ...