Tìm lỗi trong chương trình C++

#include <iostream>
using namespace std;
void main()
{
	float sum;
	int a;
	cout << "enter a value : ";
	cin >> a;
	for (int x = 1, sum = 0; x <= a; x++)
		sum += (float)1 / x;
	cout << "sum of opposite number is : " << sum << endl;
	system("pause");
}

ép kiểu thằng x thành float luôn nha bạn

không đc bạn ơi.

Compiler báo sum chưa được init kìa bạn (mặc định default init là 0.0f nhưng chắc C# compile nó bắt chặt hơn)

Hi, gõ lại và compile bằng GNU thì không thấy lỗi (nhưng bị tính sai), nên đoán là nếu bạn init trong vòng for thì có lẽ bộ C# compile nó không hiểu (vì phạm vi biến chỉ tồn tại trong vòng for thôi, ra ngoài vòng for là biến bị GC. Biến float sum ở ngoài và int sum ở for là 2 biến # nhau nhé).

Bạn init float sum = 0, rồi compile lại đi (bỏ cái sum = 0 ở for đi nhé)

Cảm ơn các bạn rất nhiều :innocent:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?