Hỏi về lỗi hiển thị kí tự trong ascii table C++

Hi mọi người, mình dùng dev c++, code đúng, compile không có lỗi nhưng output phải hiện kí tự. Máy output bình thường nhưng đến phần kí tự thì bị hiện bằng . Mọi người biết cách nào fix được lỗi này mình với nhé! Thanks mọi người!
Mình tạo chương trình in kí tự với giá trị của kí tự được nhập vào từ bàn phím.
Code:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	char c = n;
	cout<<"Nhap gia tri cua ki tu trong bang ascii:__"<<endl;
	cin>>n;
	cout<<"Ki tu la:__"<<endl;
	cout<<c;
}

#Và output:

Mình thử với một số giá trị khác output vẫn bị lỗi.

1 Like

Bạn vui lòng kèm thêm code và output khi đặt câu hỏi.

6 Likes

Cảm ơn bạn đã đóng góp.
Mình tạo chương trình in kí tự với giá trị của kí tự được nhập vào từ bàn phím.
Code:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	char c = n;
	cout<<"Nhap gia tri cua ki tu trong bang ascii:__"<<endl;
	cin>>n;
	cout<<"Ki tu la:__"<<endl;
	cout<<c;
}

#Và output:

Mình thử với một số giá trị khác output vẫn bị lỗi.

1 Like

Bạn chưa gán vào biến c.

3 Likes

Cảm ơn bạn đã đóng góp.
Mình là newbie trong phần character, bạn có thể giải thích rõ giúp mình hơn được không?
Many thanks!

1 Like

Cái này là do bạn không nắm vững code flow thôi, chẳng liên quan gì đến phần character hết.

int n;
char c = n;

n chưa được khởi tạo, cho nên giá trị của n là rác. Gán n vào c, giá trị của c cũng là giá trị rác.

cin >> n;
cout << c;

Đọc giá trị của n, tuy nhiên biến c không được tác động gì -> giá trị của c vẫn là giá trị rác.

4 Likes

Cảm ơn bạn đã đóng góp!
Mình gán n là giá trị của kí tự c trong ascii table. Nhập n để in c. Bạn có ý tưởng fix lỗi hay làm rõ hơn được không, mình thực sự vẫn chưa hiểu được những ý kiến các bạn vừa nêu ra @@@

1 Like

Thì sau khi đọc n thì bạn mới gán c = n là được rồi còn gì?

3 Likes

Cảm ơn bạn! Mình đã fix lỗi thế này:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	char c;
	cout<<"Nhap gia tri cua ki tu trong bang ascii:__"<<endl;
	cin>>n;
	c=n;
	cout<<"Ki tu la:__"<<endl;
	cout<<c;
}

Nhưng máy mình vẫn hiện lỗi như nãy à @@@

1 Like

Bạn đã compile lại file chưa? Chụp lại màn hình hiển thị kết quả sau khi thay đổi code cho mình.

Code vẫn chạy ngon:

3 Likes

Đã compile & run lại (F11)
Result:

1 Like

Bạn compile và run lại file bằng cách ấn F11.

3 Likes

Cảm ơn bạn! Mình run code online thì ổn rồi nhé! Mình còn chưa mạnh code nhưng không có ai giúp đỡ, thấy bạn rất nhiệt tình và thông thạo code, mong được liên lạc!
Email của mình: [email protected]

1 Like

Có cảm giác như nó có liên quan đến chuyện c = n; thì phải đọc là gán c bằng n :slight_smile:

2 Likes

Cảm ơn bạn, mình fix lỗi được rồi :slight_smile:

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