【c語言】實現翻轉字串函式reverse_string
實現:將引數字串中的字元反向排列。
要求:不能使用C函式庫中的字串操作函式。
#include <stdio.h> #include<stdlib.h> #define SWAP(a,b,c) ((c)=(a),(a)=(b),(b)=(c)) void reverse_string(char * s) { char *p=s; char temp; while(*p) p++; //讓p指向最後一個字元 p--; while(s<=p) { SWAP(*s,*p,temp); //交換兩個字元,巨集函式實現 s++; p--; } } void main() { char s[]="abcdefghigklmn"; reverse_string(s); puts(s); }
相關推薦
【c語言】實現翻轉字串函式reverse_string
函式reverse_string(char * string) 實現:將引數字串中的字元反向排列。 要求:不能使用C函式庫中的字串操作函式。 #include <stdio.h> #in
【C語言】標準庫字串函式整理
strcmp 字串比較 函式原型 extern int strcmp(const char *s1,const char *s2); 說明 C/C++函式,比較兩個字串 設這兩個字串為str1,str2, 若str1==str2,則返回零; 若str1<
【C語言】實現一個函式翻轉字串
實現一個函式翻轉字串 思路:->實現翻轉 1.翻轉即前後交換 2.對於字串前後交換直到中間一個字元終止迴圈 3.令(start++)<(end–)迴圈條件不滿足退出 #incl
【C語言】實現一個函式,可以左旋字串中的k個字元。
.實現一個函式,可以左旋字串中的k個字元。 AABCD左旋一個字元得到ABCDA AABCD左旋兩個字元得到BCDAA 思路: 1.如果直接進行左移,肯定會存在陣列前面的元素丟失。 解決辦法:
【C語言】 使用回撥函式實現氣泡排序
實現功能:既能排序整型數,也可以排序字串 程式碼如下: #include <stdio.h> #include <string.h> int int_cmp(const v
【C語言】用遞迴函式是實現函式功能的幾個例子
1.問題描述:寫一個遞迴函式DigitSum(n),輸入一個非負整數,返回組成它的數字之和。例如,呼叫DigitSum(1729),則應該返回1+7+2+9,它的和是19。 思路:這個題比較類似於求拆分整數,一個一個輸出。這個題多得一步是在拆分後,將這些數字加
【C語言】統計一個字串中字母、數字、空格及其它字元的數量
統計一個字串中字母、數字、空格及其它字元的數量 解法1: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> void Count(con
【C語言】實現一個計算器(兩種方式)
1.使用switch…case…語句實現 #define _CRT_SECURE_NO_DEPRECATE 1 #include <stdio.h> #include <stdlib.h> int add(int x, int y) { &nb
【C語言】實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變
請編碼實現以下功能的函式 功能:實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變。 函式原型:void bit_set(unsigned char *p_data,unsigned char position,int flag)
【C語言】實現小遊戲掃雷
用C語言實現掃雷小遊戲,一共有三部分的程式碼 game.h #ifndef __GAME_H_ #define __GAME_H_ #include <stdio.h> #include <stdlib.h> #include <time.h> #def
【C語言】實現小遊戲三子棋
三子棋的規則:在九宮格棋盤中,只要橫、豎、對角線都能走成一條直線,就贏了。 我將實現三子棋遊戲的程式分為三個部分 第一部分:標頭檔案 game.h #ifndef _GAME_H_ #define _GAME_H_ #include <string.h> #include
【C語言】第三章-函式-2
第2節 函式呼叫 函式呼叫一般有兩種方式,一種是形參不會影響實參的傳值呼叫,另一種是形參會影響實參的傳址呼叫。 傳值呼叫 傳值呼叫是將實參的值傳入函式體中,傳入的不過是實參的副本,不會改變實參。這個在上一節已經講過其中的原因正式因為C語言副本傳參的這個特
【C語言】實現對一個8bit資料的指定位的置0或者置1操作,並保持其他位不變。
給定函式原型:void bit_set(unsigned char *p_data,unsigned char positin,int flag) 引數說明:p_data是指定的源資料;position是指定位(取值範圍為1~8);flag表示置0還是
【C語言】實現俄羅斯方塊
學習了C語言,寫一個俄羅斯方塊,程式碼絕對可以執行 大神勿笑,只適合初學者 本人也是菜鳥 1、考慮怎麼儲存俄羅斯方塊 俄羅斯方塊的形狀一共有19種類型,如果拿陣列來表示的話,可能會比較會浪費空間(網上有很多實現程式碼) 考慮到每種方塊形狀的
【C語言】實現對一個8bit資料(unsigned char)型別的指定位的置0或置1操作,並保持其他位不變
功能:實現對一個8bit資料(unsigned char)型別的指定位(例如第n位)的置0或置1操作,並保持其他位不變。 函式原型:void bit_set(unsigned char *p_data
【c語言】實現strchr
// 實現strchr(在一個字串中查詢字元,找到的話返回指向該字元的指標,沒找到的話返回空) #include <stdio.h> #include <assert.h> char * my_strchr( char const *str, c
【c語言】實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)置0或者置1操作,並保持其他位不變
// 實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)置0或者置1操作,並保持其他位不變 #include <stdio.h> void bit_set(unsigned char *p_data, unsigned char
【C語言】判斷一個字串是否為迴文字串。
判斷一個字串是否為迴文字串。 #include <stdio.h> int main(void) { char a[100]; int i = 0, j = 0; printf("Plea
【C語言】malloc()和free()函式的講解以及相關記憶體洩漏問題
1、函式原型及說明: void *malloc(long NumBytes):該函式分配了NumBytes個位元組,並返回了指向這塊記憶體的指標。如果分配失敗,則返回一個空指標(NULL)。 關於分配失敗的原因,應該有多種,比如說空間不足就是一種。 void free(void *FirstByte): 該
【C語言】 實現memset
void *memset(void *s, int ch, size_t n); 函式解釋:將s中後n個位元組(typedef unsigned int size_t)用 ch 替換並返回 s mem