01/10/2018, 09:51

Nhờ mọi người xem giúp mình vì sao đoạn code sau cho kết quả ko như mong muốn

Mình đang thử nghiệm hàm atof() trong C bằng đoạn code sau:

#include <stdio.h>
#include <string.h>

int main()
{
    char buffer[] = "184";
    double d;
    d = atof(buffer);
    printf("Buffer is %s. Double is %lf
", buffer, d);
    return 0;
}

thì cả 3 compiler gcc, clang và vc đều cho ra kết quả ko như mong muốn (kết quả của biến double d luôn là 0.000), mn có thể giải thích cho mình vì sao lại như thế ko ạ?
http://rextester.com/KSD34244
Mình xin cảm ơn trước.

Quân viết 12:04 ngày 01/10/2018

thiếu

#include <stdlib.h>
Nguyễn Thanh Việt viết 11:56 ngày 01/10/2018

Cho e hỏi vì sao phải cần thư viện stdlib ạ? (hàm nào cần thư viện đó?)
Mà đó phải hàm chuẩn ko anh nhỉ? (như trên Linux có chạy đc ko ấy?)

Quân viết 12:06 ngày 01/10/2018

vì hàm atof được định nghĩa trong thư viện stdlib.h, muốn dùng thì phải import

Nguyễn Thanh Việt viết 11:59 ngày 01/10/2018

À, mình quên mất, trong lúc đọc documentation của cplusplus ko để ý cái stdlib ^^

Bài liên quan
0