30/09/2018, 19:00

Dòng 18 em nếu em ghi là (n,); thì nó báo lỗi là sao ạ?

tại sao em lại bị lỗi ngay chỗ S dậy
cho em hỏi ngay dòng 18 em nếu em ghi là (n,); thì nó báo lỗi là sao ạ.

... viết 21:13 ngày 30/09/2018

Lỗi biến S trong hàm được định nghĩa lại.
Bạn để tham số float S = 0 nghĩa là đã có một biến S cục bộ trong hàm tinhtong rồi.

thanh viết 21:05 ngày 30/09/2018

dậy ngay dòng 3 em không khai báo float S thì hàm tinhtong của em có bị trả về kiểu int không

Pham Van Hai viết 21:05 ngày 30/09/2018
  • Cho dù bạn khai báo hàm tinhtong truyền tham số S vào thì giá trị của nó trong hàm tinhtong sẽ bị mất sau khi chạy hết hàm đó. Bạn nên tìm hiểu thêm về call by value và call by reference trong C++.
  • Trong trường hợp của bạn nên khai báo giá trị trả về của hàm tinhtongfloat, sau khi tính tổng xong thì return, ví dụ:
float tingtong(int n)
{
     float S = 0;
     (tính tổng ở đây)
     return S;
}

gọi hàm:

float S;
S = tinhtong(n);
Bài liên quan
0