30/09/2018, 22:06
Lỗi biến đang được sử dụng mà không được khởi tạo
em có viết 1 chương trình kiểm tra số nguyên tố như sau:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n, i ;
cout << "nhap so nguyen n, n = " ;
cin >> n;
cout << endl;
bool c;
for (i=2;i<n/2;i++)
if (n%i==0)
{
cout << n << " khong phai so nguyen to" << endl;
c = false ;
break;
}
if (c)
cout << n << " la so nguyen to " << endl;
system("pause");
return 0;
}
Khi nhập số nguyên tố thì bị báo lỗi
The variable 'c' is being used without being initialized
Mong các tiền bối giải thích ạ
Bài liên quan
Theo bạn thì biến bool c của bạn được khởi tạo giá trị tại câu lệnh nào và tại thời điểm nào?
mình nghĩ khi mà n chia hết cho i thì biến bool được khởi tạo và gán giá trị là false luôn
Mà khi khai báo biến bool c trong vòng lặp if cũng không được là sao vậy
Nghĩa là khi bạn nhập số nguyên tố, câu lệnh if trong vòng lặp for sẽ không bao giờ được thực thi.
mình nghĩ không thực thi thì thôi chứ. Vậy có cách nào tối ưu code hơn k ạ
Thì lúc bạn khai báo biến bool c bạn cứ gán cho nó bằng true luôn có ảnh hưởng gì tới cấu trúc chương trình đâu.
oh, cảm ơn bạn