1樓:塞來福官嫻
**不是你來寫的吧?因為**沒自有問題,只是bai輸入時要du
先輸入個數n,再輸zhi入n個數,最dao後輸入一個要找的數——這**沒有輸入錯誤提示,所以輸入錯了就沒有輸出,等待下一次輸入。而且,**是多組迴圈,若要退出,得輸入兩次ctrl+z鍵,否則啥也不顯示等待下一輪輸入。比如你輸入4↙(↙表示回車),再輸入123
4(空格隔開)↙,最後輸入3↙,那麼,輸出就是用函式1找到的i,j為:(2,2)
用函式2找到的下標為:2
若不退出則進入下一輪,若要退出則輸入^z↙^z↙即可。^z表示同時壓下ctrl鍵和z鍵。
2樓:嶽恆羊緞
類似bai這種錯誤語法上是沒問題的du,總是在運zhi行中。你dao應該記住出錯誤的條內件(比容
如輸入某個數進行計算時),然後在ide中,在程式源**的適當位置設定斷點,再一步一步進行除錯。通常可能是出現了除數為零的情況。
查出問題後就可以著手解決了。以我的經驗,解決有兩種方法(其他高手如有更好的方法,歡迎賜教),一是在每一次浮點運算時都進行檢查(分母是否為0,對數的真數是否小於或等於0,根號下的數字是否小於0等等),出現後就給出一個錯誤提示,不要再執行了。過去我在dos下就是這麼辦的。
現在好一些,可以用異常機制進行處理(如果你的編譯器支援異常的話)。
c語言中,程式沒有錯誤但是執行後卻不顯示
3樓:
**不是你寫來
的吧?因為**沒有問源題,只是輸入
bai時要先輸入個數dun,再輸入zhin個數,最後輸入一個要找的數——dao這**沒有輸入錯誤提示,所以輸入錯了就沒有輸出,等待下一次輸入。而且,**是多組迴圈,若要退出,得輸入兩次ctrl+z鍵,否則啥也不顯示等待下一輪輸入。比如你輸入4↙(↙表示回車),再輸入1 2 3 4(空格隔開)↙,最後輸入3↙,那麼,輸出就是
用函式1找到的i,j為:(2,2)
用函式2找到的下標為:2
若不退出則進入下一輪,若要退出則輸入^z↙^z↙即可。^z表示同時壓下ctrl鍵和z鍵。
這個c程式編譯顯示沒有錯誤,為什麼不能執行?
4樓:育知同創教育
引數復必須制是指標(地址
bai)才可du以zhi。 scanf()函式要求參
數必須是指標類dao型,即將地址傳輸到其內,才可以讓a , b變數中獲取到資料。 如果你學過指標,你就會理解了。 c語言中函式的呼叫中,引數傳遞,只能傳遞數值。
如果只是將數值傳遞過去(接收者是形參),在子函式中變化,形參的變化,不會影響到實引數據的內容。 c中,每定義一個變數,系統都會在記憶體中給其分配一個空間用來儲存資料。而這個空間的編號就是這個變數的地址。
當我們將這個地址傳遞到子函式中,子函式在運算元據時,就會改變這個地址中的資料,這樣,實參的資料是會發生變化。 而你程式中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程式執行停止。
c語言程式設計除錯後沒有錯誤但是卻無法執行是怎麼回事?
5樓:匿名使用者
無法執行可bai能遇到的du問題:
編譯沒錯,但是zhi執行後彈出記憶體相關dao報錯------》有邏
版輯錯誤,或者記憶體呼叫錯權誤
執行直接閃退---------------》有可能該程式無任何執行結果輸出語句,或者使用編譯器(or ide)與作業系統不相容
暫時只能想起這麼多了。
6樓:12端木歪歪
能編譯才能執行,除錯只是分部進行。
c語言中,程式沒有錯誤但是執行後卻不顯示
不是你寫來 的吧?因為 沒有問源題,只是輸入 bai時要先輸入個數dun,再輸入zhin個數,最後輸入一個要找的數 dao這 沒有輸入錯誤提示,所以輸入錯了就沒有輸出,等待下一次輸入。而且,是多組迴圈,若要退出,得輸入兩次ctrl z鍵,否則啥也不顯示等待下一輪輸入。比如你輸入4 表示回車 再輸入1...
我從百度裡找了c語言程式,編譯沒有錯誤,但是無法執行,一直顯示 找不到程式 或者 程式執行出錯
估計是防毒軟體搞的鬼。你把防毒軟體退了重新試試。希望能幫助到你。這個c程式編譯顯示沒有錯誤,為什麼不能執行?引數復必須制是指標 地址 bai 才可du以zhi。scanf 函式要求參 數必須是指標類dao型,即將地址傳輸到其內,才可以讓a b變數中獲取到資料。如果你學過指標,你就會理解了。c語言中函...
c語言中程式如for為什麼是死迴圈
for 是一bai 個典型的簡介的死迴圈。解釋如du下 所謂迴圈zhi就是dao讓計算機重複執行一段內 迴圈的核心有兩個容部分 迴圈控制 迴圈體 迴圈控制部分的迴圈結束條件如果永遠成立,將會導致一直迴圈,俗稱 死迴圈 上面的程式 最後的分號,表示迴圈體為空,是空迴圈 括號中的兩個分號之間是放迴圈結束...