Debug và Release trong visual studio

Chả là em vừa mới lên group lập trình thấy 1 topic hỏi về lỗi nhập kí tự. Code là thế này:
int main()
{
char c;
scanf_s("%c", &c);
printf(“ki tu vua nhap la %c”, c);
_getch();
return 0;
}
Hàm main này đúng không sai gì cả. Nhưng khi debug trên nền x86 thì lỗi. Biến c không thay đổi sau hàm scanf_s tức khởi tạo biến c là bao nhiêu thì sau đấy vẫn vậy. Debug x64 và release x86 x64 bình thường. Nền tảng là Window 7 x64. Có ai biết tại sao như thế không?

Cách tốt hơn:

...
char c = _getch();
printf("ki tu vua nhap la %c", c);
...

hoặc

scanf_s("%c", &c, 1);
2 Likes

Bạn dùng scanf_s sai cách cho nên thế.

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