2011-06-03 91 views
1

我正在使用TurboC。這段代碼有什麼問題?在運行期間,消息是「浮點格式未鏈接」,「異常程序終止」。我是C語言的新手,我從來沒有遇到過這種錯誤。提前致謝!指針表示法問題

/* averages arbitrary number of temperatures */ 
/* uses pointer notation */ 
main() 
{ 
    float temper[40];         /* Array declaration */ 
    float sum=0.0; 
    int num, day=0; 

    do             /* Puts temps in array */ 
    { 
     printf("Enter temperature for day %d: ", day); 
     scanf("%f", temper+day); 
    } 
    while(*(temper+day++) > 0); 

    num = day-1;          /* number of temps entered */ 
    for(day=0; day<num; day++)       /* calculate average */ 
      sum += *(temper+day); 
    printf("Average is %.1f", sum/num); 

    getche(); 
} 
+0

在什麼時候你會得到運行時錯誤? – 2011-06-03 03:02:54

+0

@Jeff Mercado我認爲在這部分'scanf(「%f」,脾氣+日);' – aer 2011-06-03 03:26:18

回答

2

請參見本FAQ:Turbo C program which crashes and says something like "floating point formats not linked."

他們提出的解決方案是一個虛擬調用,這樣編譯器/連接器檢測到您需要的浮點支持鏈接添加到sqrt功能我期望您也可以選擇您的編譯器和/或IDE,但是我不知道關於Turbo C的任何信息。

+0

如果是這樣,這聽起來像是我們應該討厭Turbo C的另一個原因。 – 2011-06-03 03:41:54

+0

這似乎是一個駭人的解決方法,狡猾有一個命令行選項來正確執行它? – Wiz 2011-06-03 04:40:37

1

您需要啓用鏈接TurboC中的浮點庫,從options> linkers >庫>浮點。

+0

**選項>鏈接器> **映射文件|初始化段|默認庫|圖形庫|警告重複的符號|堆棧警告|區分大小寫的鏈接。 *哪一個?* – aer 2011-06-03 05:32:55

+0

@aerohn從使用TC開始已經很長時間了,但它應該可能在默認庫中。 – farhanhubble 2011-06-03 06:18:41

+0

好吧,我只是要切換到**的默認庫? – aer 2011-06-03 06:27:02