日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

在输出终端中消除多余空格

發布時間:2025/3/15 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在输出终端中消除多余空格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? 來源于《The C Programming Language》的一道習題(P13,PR1-9):

???? 編寫一個將輸入復制到輸出的程序,并將其中連續的多個空格用一個空格代替

???? 自己實現:

????

???? #include <stdio.h>

???? int main()
???? {


???????? int c, flag;

???????? flag = 0;
???????? while((c = getchar()) != EOF)
??????????????? if(c == ' ' && flag == 0)
??????????????? {
?????????????????????? putchar(c);
????????????????????? ++flag;
??????????????? }
??????????????? else if(c == ' ' && flag != 0)
????????????????????? ++flag;
??????????????? else
??????????????? {
????????????????????? flag = 0;
????????????????????? putchar(c);
??????????????? }


??????? return 0;


???? }

???? 參考代碼:

???? #include <stdio.h>

???? #define NONBLANK 'a'

???? int main()
???? {


????????? int c, lastc;

????????? lastc = NONBLANK;
????????? while((c = getchar()) != EOF)
????????? {
???????????????? if(c != ' ')
?????????????????????? putchar(c);
???????????????? if(c == ' ')
??????????????????????? if(lastc != ' ')
?????????????????????????????? putchar(c);
???????????????? lastc = c;
????????? }

????????? return 0;


????? }???

????? 比較兩段代碼,發現自己的代碼還是嫩了些:

????? 1. 對于flag變量,有點幻數的感覺(不知道這個比喻恰不恰當,哈哈),當別人在讀代碼時,不能一眼看出它的含義,而參考代碼中

????????? 使用的宏NONBLANK就不存在這方面的問題。

????? 2. 在程序主體結構中,對于判斷條件的組織及if else語句的使用上,沒有參考代碼中的簡潔和高效

轉載于:https://www.cnblogs.com/roma823/archive/2011/07/10/2102308.html

總結

以上是生活随笔為你收集整理的在输出终端中消除多余空格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。