November 30,2007
今日程設精華
scanf ("%c", &operate);
scanf (" %c", &operate);
微妙的不推齊之差異。
*
Stalin 說:
喔我知道了
因為沒加空白的話 他會讀到之前換行那個"enter"的字元
Hr.說:
驚,可是scanf的值不是要enter之後才回傳的嗎?
Stalin 說:
yes~~
不過就是
你打1 4[enter]+[enter]這樣的時候
他會 1 4[enter]的時候送出1 4
然後[enter]那個渣渣還會在那邊
就是如果是連續printf或scanf的話%c前面要加一個空格
Hr.說:
只有%c要嗎?其他都不用?why?
%d不會掛我試過
Stalin 說:
恩恩我記得是因為%d只會讀數字[enter]他算是一個字元 但是不是數字
所以%d不會讀到 但是%c會很快樂的把他吃進去
然後加入空白就是跟scanf說你要從空格後面開始讀
然後那個[enter]是空白字元 所以就會被略過
Hr.說:
喔喔懂了ˇ
大感謝,應該跟老師建議說明回傳值的方式...............
scanf (" %c", &operate);
微妙的不推齊之差異。
*
Stalin 說:
喔我知道了
因為沒加空白的話 他會讀到之前換行那個"enter"的字元
Hr.說:
驚,可是scanf的值不是要enter之後才回傳的嗎?
Stalin 說:
yes~~
不過就是
你打1 4[enter]+[enter]這樣的時候
他會 1 4[enter]的時候送出1 4
然後[enter]那個渣渣還會在那邊
就是如果是連續printf或scanf的話%c前面要加一個空格
Hr.說:
只有%c要嗎?其他都不用?why?
%d不會掛我試過
Stalin 說:
恩恩我記得是因為%d只會讀數字[enter]他算是一個字元 但是不是數字
所以%d不會讀到 但是%c會很快樂的把他吃進去
然後加入空白就是跟scanf說你要從空格後面開始讀
然後那個[enter]是空白字元 所以就會被略過
Hr.說:
喔喔懂了ˇ
大感謝,應該跟老師建議說明回傳值的方式...............
引用URL
http://cgi.blog.roodo.com/trackback/4560697


