Re: [作業] 使徒2...

看板b95902HW作者 (尹兒)時間19年前 (2006/09/27 16:09), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串3/4 (看更多)
※ 引述《joejoe321321 (鴟夷子皮)》之銘言: : ※ 引述《mt01020 (夢)》之銘言: : : 那個 我有看到計程網上的問題 : : 可是我的比較不一樣 : : 我是第一次scanf式子時 最後ㄧ個英文字母就沒進去 : : 例如 輸入:a=a+b : : 他只有感應到:a=a+ (我不會用debug 所以我是直接在scanf後面加一行printf看的) : : 不知道為什麼會這樣 (我scanf那行寫法也是跟老師打的ㄧ樣) : : 還有 char應該可以用switch吧? 老師hint用switch 可是我用switch寫怪怪的ㄟ... : : 寫法是 switch(firstchar){ : : case 'a': : : ~ : : break; : : ...... : : } : : 嗎?? : 問題出在第二行之後的enter = = : 以下以範例而言 : 第一行的1 2 3(enter)並沒有要接著輸入字元 : 所以沒事 : 可是3(enter)之後馬上要scan 所以會把enter讀進去... : 接下來存的變數假設是abcde : 則a = (enter) : b = 'a' : c = '=' : d = 'a' : e = '+' : 然後'b'會再存進開頭的a 但是在存進去前程式就先開始跑了= = : ---- : 應該沒有錯吧 昨天我也有這個問題 : ASKII碼讀出來都是10 我習慣都會這樣讀欸: char ch; do{ scanf("%c", &ch); }while( ch==' ' || ch=='\n' || ch=='\t' || ch==.... ); 或是如果我確定要讀的一定會是小寫英文字母的話... 那 while 的條件就改成 }while( ch<'a' || 'z'<ch ); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.44

09/27 17:08, , 1F
那個 我不太了解你的意思?? 不過我用其他方法解決了^^
09/27 17:08, 1F

09/27 17:09, , 2F
還是感謝你~~~~~
09/27 17:09, 2F

09/27 21:30, , 3F
是有空格或換行或移一堆就重讀?
09/27 21:30, 3F
文章代碼(AID): #156Z6k6t (b95902HW)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
作業
0
1
文章代碼(AID): #156Z6k6t (b95902HW)