『壹』 c語言里運行結果出現 "driver error"" 是什麼意思為什麼會出現這樣的情況
(1)你的運行結果是divide error,意思是除法錯誤。不是driver啊,driver計算機里一般指驅動的意思。(2)錯誤原因在於你把f1,f2的類型聲明的不合適,應該為float,而不是int。
『貳』 關於C語言的divide error
被零除了。相等判斷運算符搞錯 將 if(n=0)printf("ERROR"); 改一下。
if(n==0)printf("ERROR");
『叄』 c語言divide error的意思。
頭文件包含寫漏了,w請定義為float或者使用強制類型轉換。按你的思路s應該初始話為0.
『肆』 C語言程序編輯好後,電腦沒有檢查出錯誤,但是運行時結果輸出顯示為「Divide error」。
類似這種錯誤語法上是沒問題的,總是在運行中。你應該記住出錯誤的條件(比如輸入某個數進行計算時),然後在IDE中,在程序源代碼的適當位置設置斷點,再一步一步進行調試。通常可能是出現了除數為零的情況。
查出問題後就可以著手解決了。以我的經驗,解決有兩種方法(其他高手如有更好的方法,歡迎賜教),一是在每一次浮點運算時都進行檢查(分母是否為0,對數的真數是否小於或等於0,根號下的數字是否小於0等等),出現後就給出一個錯誤提示,不要再執行了。過去我在DOS下就是這么辦的。現在好一些,可以用異常機制進行處理(如果你的編譯器支持異常的話)。
『伍』 C語言 編寫函數int divide(char *ss,int a[])從左到右依次掃描字元串ss,將串中出現的數字串轉換為整數
#include<stdio.h>
#include<string.h>
int divide(char *ss,int *a)
{
int i,k=0,sum;
for(i=0;i<strlen(ss);i++)
{
sum=0;
for(;ss[i]<'0'||ss[i]>'9';i++);
for(;ss[i]>='0'&&ss[i]<='9';i++)
sum=10*sum+ss[i]-'0';
a[k++]=sum;
}
return k;
}
int main()
{char ss[200];
int a[50],n,i;
gets(ss);
n=divide(ss,a);
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
『陸』 c語言中運行後出現 divide error怎麼回事
你的程序中有除法操作
除數是0,會報divide error
『柒』 C語言編程問題 該程序是完成兩個數字的加減乘除 不知道為什麼菜單項目會連續出現兩次。
getch()修改為
chargetch(void)
{
charc;
puts("Entertheoperationofyourchoice:");
puts("a.adds.subtract");
puts("m.multiplyd.divide");
puts("q.quit");
scanf("%c",&c);//%c前空格用於過濾上次輸入留在緩沖區的回車
returnc;
}
『捌』 關於C語言divide error
被0除了。學會調試就不會問這樣的問題了,設置斷點跟蹤觀察變數,很容易找到錯誤。
不調試,看源碼找非語法錯誤很麻煩。