【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、字符串翻轉(zhuǎn)模型 業(yè)務(wù)函數(shù)
- 二、完整代碼示例
一、字符串翻轉(zhuǎn)模型 業(yè)務(wù)函數(shù)
將上一篇博客 【C 語言】字符串模型 ( 字符串翻轉(zhuǎn)模型 ) 的代碼 , 主要業(yè)務(wù)邏輯 , 抽象成函數(shù) ;
字符串翻轉(zhuǎn)模型 業(yè)務(wù)函數(shù) 要點(diǎn) :
- 形參返回值 : 函數(shù)的返回值 , 一般使用 函數(shù)形參 間接賦值 進(jìn)行返回 ; 下面的代碼中 char *str 是返回值 ;
- 函數(shù)返回值 : 函數(shù)的返回值 , 反映的是函數(shù)的執(zhí)行結(jié)果狀態(tài) , 返回 0 執(zhí)行成功 , 返回 -1 執(zhí)行失敗 ;
- 函數(shù)形參處理 : 在 函數(shù)中 , 如果涉及到修改 形參 指針變量 , 一般不直接使用形參 , 創(chuàng)建一個(gè)臨時(shí)局部變量 , 接收形參 , 然后再執(zhí)行相關(guān)操作 ;
- 形參指針判空 : 函數(shù)的第一項(xiàng)任務(wù)就是 判定 形參指針是否合法 , 如果任何一個(gè)指針為空 , 直接返回 -1 ;
二、完整代碼示例
完整代碼示例 :
#include <stdio.h> #include <stdlib.h> #include <string.h>/** 將參數(shù)字符串翻轉(zhuǎn)*/ int inverse(char *str) {// 創(chuàng)建臨時(shí)變量接收 函數(shù)形參 , 不要直接改變形參的函數(shù)指向char *str_tmp = str;// 判斷傳入的字符串指針是否為空if(str_tmp == NULL){printf("error : str == NULL\n");return -1;}// 計(jì)算字符串長度int len = strlen(str_tmp);// 指向字符串開始位置的指針char *p_start = str_tmp;char *p_end = str_tmp + len - 1;// 從兩邊向中間遍歷// 利用指向收尾的指針 , 交互指針指向的元素while (p_start < p_end) {// 交換收尾字符// 記錄 p_start 指針指向的首部字符char c = *p_start;// 將尾部字符賦值給首部字符*p_start = *p_end;// 將首部字符賦值給尾部字符*p_end = c;// 指向頭部的指針自增p_start++;// 指向尾部的指針自減p_end--;}return 0; }int main() {// 將下面的字符串翻轉(zhuǎn)char str[] = "sdfsdfsdabc4548411abc";// 調(diào)用函數(shù)翻轉(zhuǎn)字符串int ret = inverse(str);// 打印結(jié)果printf("str = %s\n", str);// 命令行不要退出system("pause");return 0; }執(zhí)行結(jié)果 :
總結(jié)
以上是生活随笔為你收集整理的【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】字符串模型 ( 字符串翻转模
- 下一篇: 【C 语言】字符串模型 ( 字符串翻转模