這段代碼從cout << 知道是輸出,\n我也知道,是換行,中間有個\t我在學C的時候就知道了,這個是制表符。這樣的話,我就可以很順利的猜測出程序運行的結果了。結果是: Shape Sides ----- ----- Square 4 Circle ? 看看正確的結果,看是不是一樣的,呵呵!
呵呵!一模一樣的。
如果在字符串中打印雙引號呢?! 我嘗試著寫出代碼:std::cout << "\"\n;完全正確!反斜槓可以將一個特殊字符變成正常字符。 以為會出錯的代碼:
這段代碼,我原以為會出錯呢!因為在第11行的結束,第12行的開始我沒有寫輸出操作符呢!結果仍然是輸出心中的那個正確的結果:
咦!這就奇怪了啊!哦!原來是這樣的,在通常情況下我們用輸出操作符分隔每個輸出項,但是只要有兩個以上相鄰的字符串,編譯器就會自動將它們結合成一個字符串。但是記住哦,這個技巧只適合於字符串,不適用於字符哦!我去看看用於字符是什麼結果:
所以在輸出字符串的時候,你可以選擇多種風格,都可以輸出同樣的結果,具體怎麼去選擇風格就看自己了,但是最好一直保持一種風格到底哦!
這裡又有一個問題,為什麼不這樣寫呢,用一個大字符串把數字也包進去啊,比如這樣:
這樣看起來更簡介一些啊!但是仔細一想這樣也會出現一個問題,如果我事先不知道名稱和邊數的話就麻煩了,因為在不知道的情況下極有可能是讀取存儲在變量中的值,例如這樣的代碼
嘿嘿!不錯!C++的字符串已經內建了啊,不用像C,沒有內建這個類型,不過C用字符串也非常好辦。這裡用到了字符串String這個類型,所以上面要包含string這個頭文件了,因為你不實現告訴編譯器我要用string,編譯器沒有心理准備,一看見string就有點緊張,接受不了啊!就像不知道自己暗戀的人會路過這個路口,結果在毫無准備的情況下在路口碰見了就有點緊張,不知所措呀! 在上面那個程序中,給字符串賦了值"Triangle"。那麼怎麼賦空值呢,我先想想,空的話,有幾個思路:1,括號裡就寫個雙引號,裡面是空的,嘻嘻!2,括號都不要,直接申請就得了,3,直接給NULL。int sides我也什麼值都不給!先去試試看:。。。。。。結果:字符串的1,2的思路都達到了目的,3直接給NULL是不行的。另外,int sides不初始化出來的值是隨機值。那麼怎麼寫才是最保險安全的寫法呢?!就是下面這樣寫: std::string empty("");int zero(0);我得好好記住啊!以後我要改正1個習慣,我以後在初始化每個變量,即使我知道程序很快就會重寫它,比如我以前代碼中的輸入循環。
來自倫敦的龍之力量:(風格:速度金屬)