C語言提高20 字串反轉 兩頭堵的變形

2021-07-08 13:53:24 字數 2048 閱讀 1533

方法1:指標

在主函式裡實現:

void main()

while (p1

方法2:遞迴逆序(3個點)

01:通過遞迴的方式  逆向列印

#include#include#include#include//掌握遞迴: 引數入棧模型 與 函式巢狀呼叫返回流程 關鍵在於理解返回流程

void inverse02(char*p)

if (*p == '\0')//遞迴結束的條件

inverse02(p + 1);//主要 此時沒有列印 而是執行了函式呼叫 就是讓字串的每乙個位址依次入棧

//等abcdefg入棧後要return 然後開始執行printf 執行完畢後一次往前面的函式返回 然後依次呼叫printf

printf("%jic",*p);

}void main()

02:遞迴和全域性變數(把逆序結果放入全域性變數)

#include#include#include#includechar  g_buf[1000];

void inverse03(char*p)

if (*p == '\0')//遞迴結束的條件

inverse03(p + 1);//主要 此時沒有列印 而是執行了函式呼叫 就是讓字串的每乙個位址依次入棧

strncat(g_buf,p,1);

}void main()

; inverse04(buf,mybuf);

printf("遞迴和區域性變數:mybuf:%s\n",mybuf);

} system("pause");

return;

}

03:遞迴和非全域性變數(遞迴指標做函式引數)

void inverse04(char*p,char*bufresult)

if (*p == '\0')//遞迴結束的條件

inverse04(p + 1,bufresult);//主要 此時沒有列印 而是執行了函式呼叫 就是讓字串的每乙個位址依次入棧

strncat(bufresult, p, 1);

}void main()

; inverse04(buf, mybuf);

printf("遞迴和區域性變數:mybuf:%s\n", mybuf);

} system("pause");

return;

}

strncpy   每次只往乙個地方複製

函式原型:char *strncpy(char *dest, const char *src, int n)

strncat   連線字串

函式原型:extern char *strcat(char *dest, char *src)

功能:把src所指字串新增到dest結尾處實現字串的連線,連線過程覆蓋dest結尾處的'/0'。

jiji

strcpy 複製字串

函式原型:char *strcpy(char* dest, const char *src);

strcat  將兩個字元鏈結

原型:extern char *strcat(char *dest,char *src);

功能:把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')。

C語言提高19 字串模型 兩頭堵模型

strlen所作的僅僅是乙個計數器的工作,它從記憶體的某個位置 可以是字串開頭,中間某個位置,甚至是某個不確定的記憶體區域 開始掃瞄,直到碰到第乙個字串結束符 0 為止,然後返回計數器值 長度不包含 0 isspace 若引數c為空格字元,則返回true,否則返回null 此為巨集定義,非真正函式 ...

C語言的專案開發模型(1) 字串兩頭堵

得到字串的長度,然後 1得到的是陣列的最大座標位置 j strlen inmybuff 1 指標從輸入字串的前面向後判斷,找到不是空格的地方 while isspace inmybuff i inmybuff i 0 指標從後往前尋找,找到不是空格的地方 while isspace inmybuff...

day4 字串的兩頭堵模型

方法一 int main01 while isspace p j p j 0 count j i 1 printf count d n count printf hello world n system pause return 0 求非空格的字串長度 方法二 api函式 void getcount...