日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

C语言--isspace()函数实现

發(fā)布時(shí)間:2024/1/4 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 C语言--isspace()函数实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??c語言中有很多處理string類型的函數(shù),今天簡單的使用了一下isspace()函數(shù),自我實(shí)現(xiàn)調(diào)用了一下。

Isspace()函數(shù)

??包含在ctype.h頭文件中
函數(shù)原型:

int isspace(int c);

函數(shù)功能
??判斷輸入字符是否為空格/回車/制表符等
函數(shù)參數(shù):
??獲取實(shí)參char類型的字符
函數(shù)返回值:
??如果獲取到的字符是空格/回車/制表符等,返回非0值(即真);否則返回0

實(shí)例一:調(diào)用頭文件直接使用isspace()函數(shù)

 1 #include<stdio.h>
 2 #include<ctype.h>
 3 int main(void)
 4 {
 5     char arr[32]=" hello world ";
 6     printf("<%s>
", arr);
 7     char*r = arr;
 8     char*p = r;
 9     char*q = arr + strlen(arr)-1;
10     while(isspace(*p))
11         p++;
12     while(isspace(*q))
13         q--;
14     while(p <= q)
15         *r++=*p++;
16      *r ='';
17     printf("<%s>
", arr);
18     return0;
19 }

實(shí)例二:根據(jù)函數(shù)原型,自己實(shí)現(xiàn)isspace()函數(shù)

1 int myIsspace(char c)
2 {
3     if(c =='	'|| c =='
'|| c ==' ')
4         return1;
5     else
6         return0;
7 }

??在直接調(diào)用isspace()函數(shù)時(shí),要謹(jǐn)慎使用,在不同的操作平臺上,可能會有崩潰行為,建議自己實(shí)現(xiàn)一個(gè)isspace()函數(shù)。


錯(cuò)誤如下:

??拓展:

??這里我調(diào)用isspace()函數(shù)主要實(shí)現(xiàn)消除字符串兩邊的空格或者其他符號,例如:"??hello heima??"消除空格之后的格式為:"hello heima"

??消除實(shí)現(xiàn)思想:
??1. 定義兩個(gè)指針p,q分別指向字符串頭和尾;
??2. 再創(chuàng)建一個(gè)臨時(shí)指針r來存放字符串?dāng)?shù)組arr的首地址:
??3. p,q遇見空格就p++和q–;一直循環(huán)直至非空。


??如圖:


??

具體實(shí)現(xiàn)Demo:(這里使用自定義isspace()函數(shù))

 1 #include<stdio.h>
 2 #include<string.h>
 3 int myIsspace(char c)
 4 {
 5     if(c =='	'|| c =='
'|| c ==' ')
 6         return1;
 7     else
 8         return0;
 9 }
10 int main(void)
11 {
12     char arr[32]=" hello world ";
13     printf("<%s>
", arr);
14     char*r = arr;
15     char*p = r;
16     char*q = arr + strlen(arr)-1;
17     while(myIsspace(*p))
18         p++;
19     while(myIsspace(*q))
20         q--;
21     while(p <= q)
22         *r++=*p++;
23     *r ='';
24     printf("<%s>
", arr);
25     return0;
26 }

??消除結(jié)果如下所示:

總結(jié)

以上是生活随笔為你收集整理的C语言--isspace()函数实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。