我的朋友剛剛開始學習編程。他向我展示了他的代碼,並詢問爲什麼它會返回一些奇怪的數字。看完後,我看到他正在使用scanf(「%。2lf」,& a)來接受輸入,並且按照習慣,我嘗試將其更改爲正常。然後他問我爲什麼有一些奇怪的輸出。搜索後,我仍然沒有找到答案。爲什麼您不能在C中編寫scanf(「%。2lf」,&a)?
有人可以告訴我爲什麼它不起作用嗎?
非常感謝您的支持,對於長期無關緊要的故事以及我的糟糕英語感到抱歉。
編輯:下面
int main()
{
double a,b,c,delta;
printf("Nhap vao 3 so thuc a,b,c: \n");
scanf("%.2lf %.2lf %.2lf",&a,&b,&c);
if(a == 0 && b == 0 && c == 0) printf("Phuong trinh co vo so nghiem");
else if(a == 0 && b == 0 && c != 0) printf("Phuong trinh vo nghiem");
else if(a == 0 && b != 0) printf("Phuong trinh co 1 nghiem la: %.2lf",-c/b);
else if(a != 0)
{
delta=b*b-4*a*c;
if(delta<0) printf("Phuong trinh vo nghiem");
else if(delta == 0) printf("Phuong trinh co nghiem kep: %.2lf",-b/(2*a));
else if(delta > 0) printf("Phuong trinh co 2 nghiem la:%.2lf, %.2lf",-(b-sqrt(delta))/(4*a),-(b+sqrt(delta))/(4*a));
}
return 0;
}
_什麼不工作? –
這是'scanf'轉換規範的無效語法。對於'printf()'有效的''不一定對'scanf()'有效。沒有什麼可說的。具體來說,該點是無效的。 –
你能告訴我們一個? –