解決我發現void main
是不正確的,但即使我將其更改爲int
或刪除它,簡單的等式用C
我沒有得到什麼我應該是X的值給出方程ax + b = 0的A和B的值,我得到的都是零。
我該如何解決這個問題?
void main()
{
float a,b,x=0;
printf("\n Write the values for A and B");
scanf("&%F&%F",&a,&b);
if(a==0)printf("\n Not a valid operation");
else{x=-b/a;
printf("\n Answer is x=%f",x);
}
}
'如果(A == 0)'是不是要檢查錯誤的正確方法。如果scanf失敗,那麼'a'將是不確定的,因爲你從未初始化它。此外,它不檢查是否成功讀取了「b」。要解決這個問題,或者事先設置'a = 0',或者檢查'scanf'的返回值。如果讀取了2個項目,它應該是'2'。 – 2014-09-23 04:14:29