1樓:
出錯的時候要吧鍵盤緩衝區重新整理
要不然沒都出來的東西一直留在裡面
每次都出錯
因為scanf的時候你要的輸入就是數字啊
所以你輸範圍內的數字必然是正常的(你還指望他不正常麼)而且讀完就會把緩衝區清掉
2樓:匿名使用者
字母或者符號是把它對應的乙個位元組長度的asc ii碼值傳轉換成int遞給你的number變數了。大部分的符號和所有的字母的asc ii碼值都比1、2大,因為所有asc ii字元好像是256個吧,從0開始到255,1、2所代表的字元還不一定可以輸入....不符合1和2,就去default了
3樓:匿名使用者
因為你的 f 的字元型別是 int型,你輸入字元或者符號就不是int型了,所以 f 始終都會是1 ,因此會不斷的迴圈。你應該對輸入的字元型別沒有進行判斷處理。
4樓:手機使用者
用vim做編輯器,或者用gedit,都有語法著色功能,寫好後儲存成.c或.cpp檔案,然後命令列下用gcc或g++編譯,除錯可以用gdb。
gcc預設生成可執行檔案叫a.out,好像是……命令列下用.\a.out執行
設計到系統呼叫的函式,和windows下是不同的,具體看本linux c程式設計的書就好了。
1,圖形介面下先進入終端,在選單裡找,文字介面就不用了。
2,輸入vim hello.c,回車
3,開啟了vim,按i開始輸入:
#include
int main()
4,按esc,再按shift+分號,輸入wq(儲存退出),回車
5,輸入gcc hello.c,編譯
6,輸入./a.out執行
lee@lee-laptop:~/hello$ vim hello.c
lee@lee-laptop:~/hello$ ls
hello.c
lee@lee-laptop:~/hello$ gcc hello.c
lee@lee-laptop:~/hello$ ls
a.out hello.c
lee@lee-laptop:~/hello$ ./a.out
hello world!
第二步沒有vim的話就用vi hello.c
沒有gcc的話,要裝乙個,一般只有ubuntu預設沒裝,放入光碟或連線網路,用apt-get install build-essential命令安裝。
剩下的自己摸索把,linux下我也沒寫過什麼。
5樓:
因為scanf("%d",&number);接收到字母或者符號後傳到部分到&number裡,但由於linux c語言的int型別與char型別的儲存大小不同,所以stdin流一直不為空,如果要達到你所說的效果,要強行清空stdin流,命令如下:fflush(stdin);
6樓:匿名使用者
你定義的 number是乙個整型變數 default 意思是輸入的不是 1 或 2 就列印 「error!」
死迴圈了
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...
易語言問題,易語言問題
版本 2 程式集 視窗程式集1 程式集變數 文字位置,整數型 子程式 按鈕1 被單擊 文字位置 尋找文字 編輯框2.內容,編輯框1.內容,文字位置,假 1 如果真 文字位置 0 文字位置 尋找文字 編輯框2.內容,編輯框1.內容,文字位置,假 1 按鈕1 被單擊 如果真結束 編輯框2.起始選擇位置 ...
易語言問題,易語言問題???
要快一點,得看檔案列舉是怎麼寫的了,慢的原因有這麼幾個 最直接的,是等列舉完所有的檔案後才返回給列表框,再由列表框重新加入這些陣列文字 列舉檔案的原始碼是採用單執行緒的方式,對於子目錄下的子子目錄都是一步再到一步獲取的當然會慢 總的來說要快一些工程量很大 我這裡有一邊列舉檔案一邊可以 傳遞給子程式訊...