Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Lỗi khó hiểu với kiểu dữ liệu

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    8

    Mặc định Lỗi khó hiểu với kiểu dữ liệu

    Code:
    #include <iostream.h>
    #include <conio.h>
    #include <math.h>
    main()
    {
        int i=2;
        cout<<int(pow(10,i))<<endl;
        getch();
    }
    Kết quả hiện lên là 99

    Nhưng với đoạn mã tương tự , chỉ khác là ko thông qua biến i mà gán trực tiếp số nguyên 2 vào đối số của hàm pow thì kết quả trả về lại đúng

    Code:
    #include <iostream.h>
    #include <conio.h>
    #include <math.h>
    main()
    {
        cout<<int(pow(10,2));
        getch();
    }
    Ai giải thích giúp em với. Và cách nào để khắc phục khi thực hiện hàm pow với biến int và trả về kết quả cũng là int. Vì theo em biết thì hàm pow đc định nghĩa trong math.h với cả 2 đối số luôn là double,long double hoặc float và trả về kết quả là double
    welcome to http://fotech.org
    bắt đầu với C/C++

  2. #2
    Ngày gia nhập
    11 2007
    Bài viết
    47

    Cái hàm trên không chính xác nếu ép kiểu sang kiểu số nguyên, vì kết quả ở đây ko tròn mà nó có sai số. Anh có thẻ dùng hàm round để khắc phục trong bài trên.

    int EXP(int k)
    {
    return round(pow(10,k));
    }

Các đề tài tương tự

  1. học lập trình web khó hơn hay lập trình ứng dụng khó hơn?
    Gửi bởi mr.star_insky trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 15
    Bài viết cuối: 19-12-2015, 08:05 PM
  2. Câu đố khó
    Gửi bởi dkbcnncb11 trong diễn đàn Giải trí - Thư giãn
    Trả lời: 10
    Bài viết cuối: 26-10-2010, 07:31 AM
  3. Bài về đồ thị khó quá
    Gửi bởi de.itvn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 19-03-2008, 10:19 AM
  4. một câu hỏi khó hiểu quá
    Gửi bởi darkryte trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 15-05-2007, 01:00 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn