atof 函式 出錯:Segmentation Fault
阿新 • • 發佈:2021-02-13
C 庫函式 double atof(const char *str) 把引數 str 所指向的字串轉換為一個浮點數(型別為 double 型)。
當把轉換的值給一個指標型別的數時會出錯, 出錯原因指標是個沒有初始化的野指標,也就是沒有記憶體空間。
例如:
char test[10] = "12345";
float *val;
val = atof(test);
正確的用法:
char test[10] = "12345"; float val; float *pval; pval = &val; //指標初始化 val = atof(test); printf("val ; %f \n ", val); *pval = atof(test); printf("Pval : %f \n ", *pval);
結果: