字串處理 程式設計實現字串處理函式的功能(1)

2021-10-14 16:15:17 字數 2296 閱讀 7686

程式設計實現字串處理函式的功能,既有助於對字串函式功能的理解,又有助於進一步鞏固三種基本結構及字元陣列,本次程式設計實現gets、puts、strcat三個字串處理函式的功能。

1.gets函式----輸入字串的函式

/*gets函式----輸入字串的函式*/

#include

void main()

char a[20];

int i;

/*用迴圈給陣列元素一一賦值*/

for (i=0;;i++)

scanf("%c",&a[i]);

/*輸入回車說明字串輸入完畢*/

if(a[i]=='\n')

break;//跳出迴圈

/*最後,給字串打上結束標誌*/

a[i]='\0';

/*輸出字串,檢查輸入是否正確*/

注:利用for迴圈逐個輸入字元,可以輸入空格,迴圈結束的條件是輸入回車鍵,輸入結束,此時輸入的字串行並沒有結束標誌,需要在迴圈之後利用賦值語句人工加上'\0'結束標誌。

2.puts函式----輸出字串的函式

/*puts函式----輸出字串的函式*/

#include

void main()

char p="mockingbird";

int i;

/*字串看作陣列,將陣列裡的元素一一輸出,以\0為界,遇到它就結束。*/

注:對於已知字串處理中逐個字元迴圈處理,迴圈結束的條件是判斷當前字元是否為'\0'結束標誌。逐個字元輸出時,沒有'\n'回車換行,為使結果輸出易讀,最後需要輸出'\n'回車換行。

3.strcat函式----字串連線函式

/*strcat函式----字串連線函式*/

#include

void main()

void scat(char,char); /*scat函式的宣告*/

char a[30],b[10];

/*輸入字串,以回車鍵表示輸入結束*/

printf("請輸入a串:");

gets(a);

/*輸入字串,以回車鍵表示輸入結束*/

printf("請輸入b串:");

gets(b);

/*呼叫自定義的scat函式連線兩個字串*/

scat(a,b);

/*輸出連線後得到的新串*/

printf("連線後的新串:");

puts(a);

void scat (char a,char b)

int i=0,j;

/*while迴圈找到a字串的末尾,也即統計a字串的字元個數*/

while (a[i]!='\0')

i++;

/*退出while時a[i]='\0',將b[0]賦給a[i]替換a中的'\0',後面乙個乙個貼上去*/

for (j=0;b[j]!='\0';j++)

a[i++]=b[j];

a[i]='\0';//退出for迴圈時,需要加上'\0'

注:對於已知字串處理中逐個字元迴圈處理,迴圈結束的條件是判斷當前字元是否為'\0'結束標誌。字串b連線在字串a之後,需要先找到字串a的結束標誌'\0',即找到連線的位置,然後依次將b串的字元逐個連線在a串之後。a中存放連線後得到的新串,因沒有了結束標誌,需要在最後加上結束標誌'\0'。

字串處理 字串反轉

請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...

字串處理

uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...

字串處理

byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array system.text.e...