Dùng Code Blocks bị lỗi chương trình

Không hiểu sao mình viết 1 chương trình khá đơn giản là xóa các ký tự của xâu (chỉ còn lại ký tự số) bằng Code Blocks nhưng luôn cho kết quả sai, mình đã thử chạy bằng máy tính khác thì vẫn cho đúng và thử cả bằng Complier online cũng cho kết quả đúng chỉ có Code Blocks của mình là sai. Mình đã thử gỡ và cài đặt lại nhưng vẫn bị. Không hiểu là tại sao mình đã quen dùng Code Blocks rồi hoang mang quá ko biết như thế nào??. Có bạn nào bị như thế này chưa ạ

Do trình biên dịch nữa chứ!
Quan trọng là đoạn mã của bạn đâu?

2 Likes

Đây ạ. Ko biết có lỗi gì ko, mình đã sửa đi sửa lại, rối tung

int main()
{
    string st,s;
    int i=0;
    
    getline(cin,st);
    fflush(stdin);
    while(st[i]!='\0')
    {
        if ((int)s[i]>=48 && (int)s[i]<=57)
        {
            //cout<<st[i];
			s+=st[i];
        }
        i++;
    }
    cout<<s;
}

mình nghĩ là do fflush(stdin) rồi nhưng vẫn chưa thật sự hiểu rõ về vấn đề này lắm

Sao đoạn này chạy đúng được nhỉ? s hay st¿?
Để chắc thì bạn khởi tạo s = "" (chuỗi rỗng) luôn.

3 Likes

ah hihi mình nhầm rồi, chắc sửa đi sửa lại nhiều quá nên rối. để mình test lại xem thế nào

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