2016-10-28 59 views
-4

我收到3個參數NaN,+ infinity和-infinity,我想通過改變指數和IEEE 754數字的尾數來手動生成NaN,+ inf,-inf。我怎樣才能做到這一點,並將其保存到浮點數組中?如何將手動IEEE 754輸入到浮點數?

#include <stdio.h> 
#include <stdlib.h> 

int main(int argc,char*argv[]){ 

    int n=argc; 
    float array[n]; 
    int i; 
    for(i=0;i<n;i++){ 

     array[i]=argv[i]; 
     float number = argv[i]; 
     printf("the array[%f] is : %f",i,number); 
    } 
    return 0; 
} 
+2

爲什麼C#的標籤?.... –

+0

不要垃圾郵件標籤。 – Olaf

+1

可能的重複http://stackoverflow.com/questions/26688630/how-is-infinity-represented-in-a-c-double –

回答

0

首先,請記住argv[0]是該程序的名稱。你應該在循環中跳過它。

然後對於你的問題,argv數組的值是字符串,如果這是假設的參數是,你需要轉換爲浮點值。要將字符串轉換爲浮點值,可以使用strtof