0
我正從一個scanf輸出讀取多個浮點數。來自鍵盤的多個浮點數輸入
#include<stdio.h>
#include<math.h>
int main()
{ float a,b,c;
float d,rot1,rot2;
scanf("%f%f%f ", &a, &b, &c);
d = sqrt(b*b - 4*a*c);
rot1 = (-b-d)/(2*a);
rot2 = (-b+d)/(2*a);
printf("%f %f", rot1, rot2);
return 0;
}
它需要4個輸入;但是,我只想爲變量a,b和c的地址只輸入3個輸入。我不知道哪個變量需要額外的輸入。當我爲2個變量編寫輸入代碼時,需要3個輸入。
您需要閱讀[scanf](http://en.cppreference.com/w/c/io/fscanf)的文檔並測試產生的項目數 –
它不等待四個輸入,它正在等待三個,接着是空格;計爲空白。 –
Clifford
@Clifford'scanf(「%f%f%f」...'1)讀取3個FP輸入,2)讀取並拋出空白,然後3)讀取非空白字符。在收到該字符後,它將被放回到stdin中以用於下一個輸入函數。然後'scanf()'返回。當然就像等待4個輸入一樣。 – chux