Mình muốn lập 1 hàm chuyển từ số ra chuỗi và ngược lại từ chuỗi ra số. Do đó mình đã thử ép kiểu từ chữ ra số. Có một điểm ở đây là khi ép kiểu và (lấy giá trị của nó đem gán) thì sau đó mình nhận được giá trị được gán thì số đấy được gán 2 lần. Cho mình hỏi là tại sau nó là gán được 2 lần. Cụ thể là thế này.
# include <stdio.h>
# include <conio.h>
int chuyen(char c)
{
return (int)c;
}
int main()
{
do {
char c;
printf("nhap chu:");
scanf("%c", &c);
int d = chuyen(c);
printf("%d",d);
} while (1);
return 0;
}
kết quả sẽ ra được.
Mình đã thử dùng mảng 2 chiều để gán nhưng không được. Khi mình nhập 1 giá trị lớn hơn 9 thì nó sẽ khác.
Thêm nữa, mình thử như sau:
# include <stdio.h>
# include <conio.h>
int chuyen(char c)
{
return (int)c;
}
void chuyenso (int d)
{
char s = (char)d;
printf("ra chu: %c",s);
}
int main()
{
do {
int s;
printf("nhap so");
scanf("%d",&s);
chuyenso(s);
char c;
printf("nhap chu");
scanf("%c", &c);
int d = chuyen(c);
int sochung;
int sochuyendoi;
if(d==10)
{
int sochung = d;
printf("sochung: %d",sochung);
}
else
{
sochuyendoi=d;
printf("sochuyendoi: %d\n",sochuyendoi);
}
} while (1);
return 0;
}
mình muốn chuyển từ số ra chữ và rồi lại thử chuyển lại từ chữ ra số để thử nghiệm. thì chỉ có lệnh chuyển từ số sang chữ là chạy. Còn đâu việc nhập chữ, chuyển từ chữ sang số thì bị bỏ quá.
Khá là tò mò, tóm tắt, chuyên gia nào giải thích hộ em vấn đề nêu trên:
+) chuyển từ chữ sang số thì nó được mã hóa bởi >= 2 số.
+) và cái vấn đề kề ngay phía trên là gì đươc không ạ.