30/09/2018, 17:36

Tại sao chia hai số int lại trả ra kết quả `inf` trong C++?

em mới bắt đầu học c++ thì bị lỗi với bài toán thương số giữa a và b
ai giúp em với ạ

#include <iostream>
#include <string>
using namespace std;
int main()
{
    float tong, hieu, tich, a, b;
    cout << "hay nhap vao 2 so a va b" << endl;
    cin >> a >> b;
    tong = a + b;
    hieu = a - b;
    tich = a * b;
    cout << "tong la " << tong << endl;
    cout << "hieu la " << hieu << endl;
    cout << "tich la " << tich << endl;
    if (b = 0)
    {
        cout << "ko xac dinh" << endl;
    }
    else
    {
        float thuong;
        thuong=a/b;
        cout << "thuong a/b la " << thuong << endl;
    }

    system("pause");
}

nó bảo lỗi khi em cho a = 6 , b=3 thì nó ra thương = 1 # INF
mà khi nào mới được úp hình lên nhóm vậy và sao em có khai báo iostream và string sao bài viết khộng có ghi

Mai Anh Dũng viết 19:42 ngày 30/09/2018

Trong đoạn code này thì b đã bị gán =0 ở câu lệnh phía trên. Thành ra phép chia của em là phép chia cho 0. Mà chia cho 0 thì không được nên nó trả ra kết quả inf

Lỗi nằm ở chỗ

if (b = 0)

Em phải sửa lại thành

if (b == 0)

Nếu thắc mắc thì em xem video này:

Bài liên quan
0