30/09/2018, 16:02
Hàm nhập số nguyên
#include <stdio.h>
#include <stdlib.h>
void nhapSoNguyen(int &n)
{
printf("nhap vao so nguyen: %d");
scanf("%d", &n);
}
int tinhTong(int a, int b)
{
return a + b;
}
int tinhHieu(int a, int b)
{
return a - b;
}
int tinhTich (int a, int b)
{
return a * b;
}
float tinhThuong (int a, int b)
{
return (float)a/b;
}
int main()
{
int a,b;
int tong, hieu, tich;
float thuong;
nhapSoNguyen(a);
nhapSoNguyen(b);
tong = tinhTong(a,b);
hieu = tinhHieu(a,b);
tich = tinhTich(a,b);
thuong = tinhThuong(a,b);
printf("tong :%d
", tong);
printf("hieu: %d
", hieu);
printf("tich: %d
", tich);
printf("thuong: %f
", thuong);
return 0;
}
code bị lỗi gì vậy mọi người ? . Tại sao lại báo lỗi dòng 4 ?
Bài liên quan
Sửa lại thành
printf(“nhap vao so nguyen:”);
http://codepad.org/xw7fBo5I
đã sửa theo a nhưng code vẫn bị báo lỗi .
void nhapSoNguyen(int &n)
thành
void nhapSoNguyen(int *n)
scanf("%d", &n);
thành
scanf("%d", n);
em đã sửa theo a và chạy được, nhưng khi chạy chương trình, nó bảo nhập 2 số nguyên, sau khi nhập xong nó tắt chương trình chứ k tính tổng, hiệu, tích, thương của 2 số a,b . code này e coi trong clip. Người đó dùng “microsoft visual studio” còn e dùng codeblock . Phải chăng vì điều này mà code phát sinh lỗi ?
code chuẩn : http://codepad.org/pKL3sJw9
Chính xác. Visual studio không hỗ trợ thuần C. Nên code đó là viết cho C++ nhưng sử dụng thư viện của C thôi. Thử tạo project C++ bên Codeblocks xem thử có lỗi không.
Trong C không có khái niệm reference.
Cái này là reference, chỉ có trong C++
thì ra là vậy, e cảm ơn a nhiều . e đã tạo C++ và chạy tốt a nhé
int &num… trong C++ là địa chỉ khác số nguyên. Tham trị dùng bản photocopy, bản gốc không thay đổi, tham số thực sự a, b, c vẫn giữ nguyên giá trị trước khi gọi hàm, vì nó chỉ là tham trị
Chương trình bổ sung viết bằng C++