第十一章
1、有\0才能叫字串
2、char *m3 & char m3
後者m3是陣列形式,是乙個位址常量,不能++m3;
前者m3是乙個指標變數,可以++m3;
3、字串輸入
停止特點
例子特殊用法
gets()
遇到換行符
不檢查預留空間,宜溢位
gets(name)
while(gets(name)!=null)
檢查是否空輸入,當沒有任何輸入時,name不會被輸入任何東西
fgets()
遇到換行符或者達到指定最大讀取容量
fget(name,max,stdin)
fegt(寫入的變數,最大容量,從**寫入)
scanf()
空格、製表符、換行符
讀取成功時會返回乙個整數,就是讀取的專案數;或者遇到檔案結束時返回乙個eof
scanf(「%5s %10s」,name1,
name2)
4、字串輸出
例子特點
puts
puts(str1)
單行顯示,自動在字串最後新增乙個換行符。
fputs
fputs(line,81,stdin)
能指定輸出長度,不會自動新增換行符。
printf
5、字串函式
功能例子
注意strlen
檢查字串長度
strlen(str)
strcat
第二個字串拷貝到第乙個字串結尾
strcat(s1,const s2)
不檢查第乙個陣列是否能容納第二個陣列
strncat
strcat進化版,指明了最大允許天界的字元的數量
strncat(s1, const s2, max)
strcmp
字串比較,如果兩個字串完全一樣就會返回0
strcmp(const s1, const s2)
s1比s2次序高則返回負數;s1比s2次序低則返回正數。
strncmp
比較指定位置的字元
strncmp(list[i],」astro」,5)
比較list中以astro開頭的單詞
strcpy
將第二個字串複製到第乙個字串
strcpy(s1, const s2)
1、不檢查s1是否有位置容納s2;
2、可以複製s1到s1指定位置,例如:strcpy(copy+7,orig)
strncpy
strcpy公升級版,能指定最大可複製字元數。
strcpy(s1,const s2,max)
sprintf
將幾個元素組合成乙個字串
sprintf(formal,」%s and %s will be %0.2f\n」,last,first,prize)
第十一章 字串和字串函式
字串字面值 用雙引號括起來的內容稱為字串字面量,雙引號中的字元和編譯器自動加入末尾的 0字元,都作為字串儲存在記憶體中,如果字串字面量之間沒有間隔,或者用空白字元分隔,c會將其視為串聯起來的字串字面量。字元陣列名和陣列名一樣,指向該陣列的首元素的位址。字串內部想要使用雙引號,在引號前加 字串陣列初始...
第十一章 字串和字串函式
github位址,歡迎 star 字串是以空字元 0 結尾的 char 型別陣列。1 字串字面量 字串常量 用雙引號括起來的內容稱為字串字面量 string literal 也叫作字串常量 string constant 雙引號中的字元和編譯器自動加入末尾的 0 字元,都作為字串儲存在記憶體中。字串...
字串和字串函式
字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...