方法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...