C語言學習 字串(10 19)

2021-08-29 09:58:06 字數 1714 閱讀 9065

for (i = 0; str[i] != '\0'; i++)

/*表示讀入乙個字串,**直到遇到空白字元為止**,當遇到空白字元時,空白字元之後的字元留在了**輸入緩衝區**中,下次遇到scanf()時自動被讀取*/

printf("%s",str);

/*表示輸出乙個字串,直到遇到'\0'為止*/

gets(str);

/*以回車符'\n'作為字串終止符,同時將'\n'從輸入緩衝區讀走,但不作為字串的一部分,而scanf()不讀走'\n',仍留在緩衝區中*/

puts(str);

/*從括號中引數的位址開始,依次輸出儲存單元中的字元,當遇到'\0'時結束,並且自動輸出乙個換行符*/

fgets(str,sizeof(str),stdin);

/*限制輸入字串不超過陣列大小*/

不能限制輸入字串的長度,容易引起緩衝區溢位;使用這兩個函式時,要確保輸入字串的長度不超過字串的大小。

前提:以下函式均包含在標頭檔案中

函式功能

函式功能描述及說明

求字串長度

strlen(str);

不包括』\0』

字串複製

strcpy(str1,str2);

將str2複製到str1中,確保str1足夠大

字串比較

strcmp(str1,str2);

比較ascii值,str1>str2時,返回值》0,以此類推

字串連線

strcat(str1,str2);

將str2連線在str1後面,覆蓋』\0』,str1應足夠大

」n族「字串複製

strncpy(str1,str2,n);

將str2至多前n個字元複製到str1中

」n族「字串比較

strncmp(str1,str2,n);

至多比較n個字元

」n族「字串連線

strncat(str1,str2,n);

至多新增n個字元

#include #include #define n 150  //字串個數

#define max_len 150 //字串最大長度

void sortstring (char str[max_len],int n);

int main()

/*交換法實現字串按字典順序排列*/

void sortstring (char str[max_len],int n)

return;

}

void mystrcpy (char desstr,char srcstr)

dststr[i] = '\0';

}

void mystrcpy (char *desstr,char *srcstr)

*dststr = '\0';

}

/*返回連線後字串的首位址*/

char *mystrcat (char *dststr,char *srcstr)

C語言學習 字串

字串宣告 char 變數名 數量 示例 include intmain printf 輸出字串ch2 s n ch2 方法3 char ch3 省略字串長度,長度編譯器在編譯時會幫忙計算 printf 輸出字串ch3 s n ch3 方法4 char ch4 name 此時末尾不需要加上 0 大括號...

C 語言學習 字串

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

C語言學習 字串的學習(一)

c語言中資料型別中只有 字元型 char 而 char型 變數一次只能儲存乙個字元,在日常工作中經常需要定義 字串 所以使用 字元陣列 來儲存和呼叫字元資料。char ch 50 定義乙個長度為50的字串陣列 定義字串時需要定義字串的長度,但是如果在定義的同時對字串進行賦值 則不需要定義長度,如下 ...