我的C語言程式編譯執行成功,但是現實不出結果怎麼回事,程式在下面,會的幫忙看下好麼,解決了我追加50分

時間 2021-05-04 18:25:42

1樓:_小_凡

#include "stdio.h"

#include "math.h"

void main()

else

if(fabs((b-a)/b)

else

printf("min=%f",a3);}

2樓:

樓上的說法不是很準確的。在microsoft visual studio中這種標準輸入輸出的標頭檔案是不用自己新增的。

這個程式的錯誤在於scanf語句中%f%f%f之間是不能加逗號的。

我建議你以後寫程式要規範化,不然導師看了之後會直接delete的。呵呵。還有就是goto語句最好不要常用,會造成語句混亂。它的功能代替是有很多選擇的。

3樓:南極風

只要在後面加上getch();就可以了

我幫你這樣改了後就行了

#include"stdio.h"

#include "math.h"

main()

else

if(fabs((b-a)/b)

else

printf("min=%f",a3);

getch();}

4樓:豆大根深

這視乎你使用的編譯器,使用tc是可以看到結果的,如果看不到結果,你可以在後面加入getch()函式(有些編譯器是getchar()函式)來停留等待(直到你按下任意乙個按鍵),而且,對於c編譯器,要求加入標準輸入輸出標頭檔案#include,對於c++編譯器來說,可以不加。

5樓:匿名使用者

出現attempt to define an already defined label,表示以前已經定義過乙個標號,要換乙個標號

movc a,@a+dptr

movc a,@a+pc

對於這兩條指令,查了一下網上的兄弟的解釋:

movc a,@a+dptr

從dptr開始偏移a個位址的數讀取到a中.

dptr一般為資料段的首位址.

movc a,@a+pc

從pc指令位址開始偏移a個位址的數讀取到a中.

pc為當前指令位址.

這兩個指令都是從程式空間中讀取資料.

貌似我也不大聽懂,得去問問老師

還有對於push a keil老是編譯出現為什麼編譯說錯,

expression type dose not match instruction

網上的兄弟

1.說應該為push acc

2.是編譯選項不對,應選擇韋福彙編器

3.為什麼不是a,而是acc?

因為:a表示的是記憶體位址,acc表示的是暫存器

51中,可以將暫存器入棧,不可以將記憶體入棧。

4.在51指令中沒有push a,只有push acc,同樣對累加器a進行位操作時,沒有a.0,只有acc.0

a是acc的縮寫,有些地方不能互換,原因我也不知道,書中是這麼寫的,編譯軟體也是這麼認的,否則就出錯。

6樓:

程式本身沒有問題

你在輸入時需要注意格式,例如1,2,3+回車

這樣程式就可以執行了

7樓:匿名使用者

你是不是用win200或者xp或者更高版本的系統?

如果是的話

可以在 } 前加上

getch()

這樣執行後就暫停在結果畫面上了

8樓:

加 #include 「conio.h」

在程式結束加 getch();

9樓:匿名使用者

編輯沒什麼問題,**也沒有問題。

估計是你自己在輸入a,b,m的值時沒有輸對。

在格式"%f,%f,%f"裡加了逗號,這種非空字元在手工輸入時也要求必須輸上,如:

2,3,4

這樣得到結果的

如果你輸入的是:

2 3 4

這樣是不行的,必須得把逗號輸上。

如果把格式串改為"%f%f%f",就可以輸:

2 3 4

c語言程式對,但是編譯不出來是怎麼回事?

10樓:最近控喵星人

編譯出來只說明程式沒有語法錯誤,不說明沒有邏輯錯誤,有錯誤一般會有螢幕輸出,此其一。第二,可以在程式中設定一些輸出語句或斷點觀察。第三如果程式不輸入、輸出內容,程式執行是當然看不見東西(不直觀)。

第三如果程式一值執行無法退出,說明存在「死迴圈」。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

c語言程式編譯成功,執行後沒有東西 5

11樓:餘燼

我拿手機除錯了下,你while括號裡的判斷導致整個程式無法執行還不報錯,你可以再仔細看下,變數太多還沒注釋不太想看╯﹏╰

12樓:匿名使用者

上面說的不太對吧 應該是while那一句後面不能有分號 你的程式我沒仔細看也沒去編譯 應該是這個原因 你把while那一句後面的分號刪掉試試

vc 6 0編譯器是如何編譯c語言程式的

例子 include void main 是一條語句一條語句的翻譯 一個編譯器包括詞法分析 語法分析 語義分析 中間 的生成 目標 的生成 優化等 其中詞法分析的功能是將一個 c檔案讀到記憶體中,然後根據這一大串字串判斷並分割出關鍵字 字母 識別符號等等 語法分析的功能是根據標準c語言的語法判斷這個...

C語言程式編譯時程式中的註釋部分是否參加編譯

小夏在深圳 可以參加。所謂註釋,便是用自然語言對源 中某些語句或方法進行說明。並且註釋的內容不會被編譯器編譯。可以在源 中新增任何想要新增的說明。註釋可以出現在 中的任何位置,用來向使用者提示或解釋 的含義。程式編譯時,會忽略註釋,不做任何處理,就好像它不存在一樣。如需要註釋的內容比較多,一行寫不完...

程式執行後的輸出結果是,c語言,以下程式執行後的輸出結果是

32768正確 乙個整型變數只能容納 32768 32767範圍內的數,無法表示大於32767的數。遇此情況就發生溢位,但執行時並不報錯。數值達到最大值時後,從最小值計數,所以32768 32767 1,在c裡就又回到 32768了 把int b 改成long b b ld 再試試看 根據編譯器的不...