C 字串的小細節

2021-09-29 20:48:26 字數 1493 閱讀 3962

char 為字元陣列

當存入相應的字元時,會分解成乙個個的字元存進陣列

char a[5]

=;//當想存hello的時候在字元陣列裡會拆成乙個個的字元生成,5為陣列長度

當如果你想存字串時,可用char*

char *為字串陣列

char

* a[3]

=;/*當加上星號後,陣列裡存的不是hello,the和same,而是這三個字串

的第乙個字元的位址,而這個字串又是由字元陣列組成的。因為在位址裡

是連續的,所以能讀取整個hello,the,same,所以可以變相就變成了字

符串陣列

*/

scanf輸入字元用的是%c,%s,

當使用%s時

char str[10]

;scanf

("%s"

,str)

;printf

("%s"

,str)

;

輸入`

qaq qaq qaq
顯示

qaq
識別空格作為字串的結尾

討論gets_s和scanf和getchar的區別

#define _crt_secure_no_warnings 

#include

intmain()

輸入asdf再輸入as df 得到結果

結論:

scanf識別空格或者enter或者tab作為字串的結尾,並且空格仍然在輸入緩衝區裡

getchar()可以接受單個字元它收到了scanf的空格\n,所以它換行了

gets_s可以接受空格,tab它識別enter(\n)作為結束標誌。

scanf

(screen,

"%d"

,&n)

;print

(screen,

"%d"

,n);

scanf本質是從螢幕輸入拿到數後將其轉變為%d的格式給n

print本質是從從n中拿到數將其轉變為%d的格式傳送給螢幕

sscanf

(str,

"%d"

,&n)

;sprint

(str,

"%d"

,n);

sprintf可以將螢幕變成字元陣列或者字串陣列,相當於把數輸進了字串陣列中。

scanf同理將字串的陣列的數給匯出。

C 字串小知識

c 知識點很碎,下面介紹幾個 字串常見函式的使用 1.把字串中所有的大寫都變成小寫 2.把字串中所有的小寫都變成大寫 3.去掉字串兩端的空格 4.返回乙個字串 substring 開始位置,子串長度 其指定從原字串的第幾個字元開始返回子串,字串包含幾個字元。如 s1 s.substring 1,2 ...

C 字串操作 效能優化細節

c 效能優化細節 1 使用string.empty給乙個空字串變數賦初始值 2 使用str.length 0做空串比較 3 避免不必要的字串toupper tolower類操作 4 巧用stringbuilder進行字串拼接操作 5 建立stringbuilder應指定初始大小 6 避免濫用stri...

c 字串新增字元 C 字串

在 c 語言中,字串實際上是使用null字元 0 終止的一維字元陣列。因此,乙個以 null 結尾的字串,包含了組成字串的字元。下面的宣告和初始化建立了乙個 hello 字串。由於在陣列的末尾儲存了空字元,所以字元陣列的大小比單詞 hello 的字元數多乙個。char greeting 6 依據陣列...