我創建了一個結構爲:scanf()的和在Turbo浮點數Ç
typedef struct {
float real, img;
} cmplx;
和創建的函數爲:
void input(cmplx *a){
scanf("%f + %f i", &a->real, &a->img); }
和從主作爲調用的函數:
cmplx a;
input(&a);
執行到達scanf
時停止。如果浮點數被整數替換,問題就解決了。這是什麼行爲?有沒有辦法讓我的問題可以使用float?
程序被編譯上的Turbo C,在MS-WINDOWS XP
您對該計劃有何建議? – rasmus
(a)檢查'scanf()'返回的值;它會告訴你有多少轉換工作。 (b)您的C運行時庫是否自動支持浮點操作,還是必須告訴編譯器與啓用了浮點的庫鏈接?轉換成Mac OS X上的可運行代碼,它在給定有效輸入的情況下工作正常。 –
有沒有我可以寫的任何代碼來告訴編譯器鏈接浮點庫?或者我們應該編譯器params – cipher