puts( )和putchar( )的差異,
在於一個是輸出字串,
一個是輸出字元
getchar() ->取得第一個字元,並將第二個字元留在緩衝區中,直到再使用 getchar() 或 scanf() 取得輸入。 gets() -> 它會取得使用者的輸入字串,不包括按下 Enter 的換行字元碼
puts() ->它在輸出字串後,會直接進行換行
putchar() ->輸出一個字元
題目可能出的不好雖然題目是C語言,但在C++中因為右側的"abc" 為字串常量(string literal)所以宣告應為 const char *p="abc"; puts(p); (推薦這樣宣告)而 const char * (字串常量)本質上就是個字元陣列,而陣列名稱具有指標性質。所以"輸出整個字串"時變數直接使用 p 而非 *p再補充一下 :又或者說puts() 裡面放的參數要是 char *(陣列) 或是 const char * (字串常量)那麼 *p 又是甚麼呢 ?答案是字串(陣列)的起始位址 -> p[0]參考一下實跑圖可能很難讀懂,所以要慢慢咀嚼如有大神發現錯誤,一定要糾正我 :))也可以參考這https://openhome.cc/Gossip/CGossip/PointerAndString.htmlhttps://blog.csdn.net/whatday/article/details/10626739...
題目可能出的不好雖然題目是C語言,但在C++中因為右側的"abc" 為字串常量(string literal)所以宣告應為 const char *p="abc"; puts(p); (推薦這樣宣告)而 const char * (字串常量)本質上就是個字元陣列,而陣列名稱具有指標性質。所以"輸出整個字串"時變數直接使用 p 而非 *p再補充一下 :又或者說puts() 裡面放的參數要是 char *(陣列) 或是 const char * (字串常量)那麼 *p 又是甚麼呢 ?答案是字串(陣列)的起始位址 -> p[0]參考一下實跑圖可能很難讀懂,所以要慢慢咀嚼如有大神發現錯誤,一定要糾正我 :))也可以參考這https://openhome.cc/Gossip/CGossip/PointerAndString.htmlhttps://blog.csdn.net/whatday/article/details/106267398
28 下列那個 C 程式碼執行後會輸出字串"abc"? (A)char *p=..-阿摩線上測驗