1樓:吾守護奇蹟
編譯通過只是說明沒有語法錯誤,執行不出結果就是你**邏輯問題了貼**看看吧,自己打斷點除錯一下
while(r=!0)
寫反了吧, r != 0
否則就成死迴圈了。。。
2樓:夢中睡客
可能是你沒有輸出結果吧?
3樓:翼下之風
你可以跟蹤除錯一下就知道了
4樓:百科大全才
沒有編譯錯誤, 有邏輯錯誤;
你最好把**貼出來看看;
這個c程式編譯顯示沒有錯誤,為什麼不能執行?
5樓:育知同創教育
引數復必須制是指標(地址
bai)才可du以zhi。 scanf()函式要求參
數必須是指標類dao型,即將地址傳輸到其內,才可以讓a , b變數中獲取到資料。 如果你學過指標,你就會理解了。 c語言中函式的呼叫中,引數傳遞,只能傳遞數值。
如果只是將數值傳遞過去(接收者是形參),在子函式中變化,形參的變化,不會影響到實引數據的內容。 c中,每定義一個變數,系統都會在記憶體中給其分配一個空間用來儲存資料。而這個空間的編號就是這個變數的地址。
當我們將這個地址傳遞到子函式中,子函式在運算元據時,就會改變這個地址中的資料,這樣,實參的資料是會發生變化。 而你程式中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程式執行停止。
為什麼在c 上寫好且執行的程式在ACM編譯器上卻編譯錯誤
如果真想做acm,就不要用vc6.0,vc對標準c 支援很差。用dev c 正賽windows系統都沒有,要學會用emacs netbeans eclipse 若出現編譯錯誤,各oj上都會有提示,告訴你哪行錯了。常見vc正確,但標準c 錯誤的 1.void main 純粹m yy gcc和iso c...
為什麼在編輯的時候一按空格字就沒有了
那是因為你不小心在你的鍵盤上按錯鍵了,把 改寫 選中了,輸入一個字會自動覆蓋掉後面的字,只需再按下 ins 那個鍵就好了,你地,明白?word中為什麼按空格鍵後面的字就沒有了 因為這時word處於改寫模式。word有兩種輸入模式 插入模式和改寫模式。當word處於改寫模式時,按空格鍵,這時輸入的空格...
為什麼c語言程式執行輸入後沒有輸出
輸入格式不對,要輸入 浮點數 並用 逗號 分隔輸入三個數兩個逗號後還要額外多加一回車才開始後面的流程,如果把scanf f,f,f n a,b,c 改為scanf f f f a,b,c 就可以用空白符做分隔了,現在你的程式是指定要用半形逗號做分隔符用回車做最後字元 另外程式邏輯也差一點,沒檢查 b...