Chương trình không chạy sau dòng lệnh cin.getline()

Em có viết một chương trình nhỏ để test nhưng mà nó lại bị lỗi chỗ này ạ, cả nhà ai biết không giúp em với.
Kết quả sau chạy chương trình thì dòng ------------------ và dòng chuỗi a không in được ạ, nếu em xóa dòng cin.getline thì nó chạy được ạ.

#include <iostream>
#include <string.h>
using namespace std;
main(){
    char* a;
    cout << "Nhap chuoi a: ";
    cin.ignore();
    cin.getline(a,20);
    cout << "-------------";
    cout << "Chuoi a: "<<a;
}

@huynhanh Bạn vui lòng đọc warning message mà mình gửi cho bạn, edit topic này và báo lại cho mình biết. Nếu trong vòng 24h kể từ khi topic được tạo mà bạn không có phản hồi thì topic này sẽ tự động bị đóng.

Em đã sửa rồi anh xem có được chưa ạ

1 Like

OK rồi bạn.

Bạn nên dùng string hoặc tạo một mảng char. Hãy nhớ là một mảng là một con trỏ, nhưng con trỏ chưa chắc là mảng đâu, bị lỗi runtime là phải rồi.

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