/*
* @author: your name
* @date: 2020-02-24 14:35:13
* @last modified by: your name
* @last modified time: 2020-02-25 15:02:26
*/#include
#include
#include
#define limits 81
void
toupper
(char
*str)
;int
punctcount
(char
*str)
;int
main()
toupper
(line)
;//呼叫轉大寫函式
puts
(line)
;//陣列名是位址
printf
("that line has %d punctuation characters.\n"
,punctcount
(line));
getchar()
;return0;
}void
toupper
(char
*str)
}int
punctcount
(char
*str)
str++
;//位址向前移動
}return i;
}
while(*str)
迴圈處理str
指向的字串的每個字元,知道遇到空字元。此時*str
的值為0
(空字元的編碼值為0
),即迴圈條件為假,結束迴圈,下面是該程式的執行示例:
please enter a line.
me? you talkin' to me? get outta here!
me? you talkin' to me? get outta here!
that line has 4 punctuation characters.
該程式使用fgets()
和strchr
組合,讀取一行輸入並把換行符替換成空字元。這種方法與使用s_gets()
函式的區別是:如果輸入的內容超過陣列的長度時,s_gets()
函式會處理多餘的內容,為下一次輸入做好準備。而本例中只有一行輸入,就沒有必要進行多餘的步驟。 C語言ctype h字元函式和字串
ctype.h存的是與字元相關的函式 這些函式雖然不能處理整個字串,但是可以處理字串中的字元 toupper 函式,利用toupper 函式處理字串中的每個字元,轉換成大寫 punctcount 函式,利用ispunct 統計字串中的標點符號個數 使用strchr 處理fgets 讀入字串的換行符 ...
字串和字串函式
字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...
字串和字串函式
1.字串字面量 字串常量 用雙引號括起來的內容稱為字串字面量,也叫字串常量。字串常量屬於靜態儲存類別,這說明如果在函式中使用字串常量,該字串只會被儲存一次,在整個程式的生命期內存在,計時函式被呼叫多次。用雙引號括起來的內容被視為指向該字串儲存位置的指標。hello 中的 hello 類似於乙個陣列名...