Em mới học lập trình, thấy thắc mắc mấy cái %d,%i, và%x.Ví dụ như bài đổi cơ số dưới đây, đúng ra là %x là đúng. nhưng thay bằng %d thì báo lỗi (rõ ràng là số nguyên mà in ra lại báo lỗi), thay bằng %i thì không có lỗi. Mong mọi người giải thích nguyên lý dùm em cái.
Mã:
/*đổi cơ số*/
#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define MAXSTACK 100
struct stack
{
int top;
int Nodes[MAXSTACK];
};
void Push(struct stack *p,int n);
int Pop(struct stack *p);
int Empty(struct stack *p);
int Full(struct stack *p);
int main()
{
char c;
int so,coso,sodu;
struct stack s ;
s.top =-1;
printf("
Nhap vao so ban muon chuyen");
scanf("%d",&so);
printf("
Nhap vao co so");
scanf("%d",&coso);
while (so!=0)
{
sodu = so%coso;
Push(&s,sodu);
so /=coso;
}
printf("
So da doi la:");
while (!Empty(&s))
{
printf("%x",Pop(&s)); //thắc mắc ở chỗ này %x là đùngdc,%i được,%d không dc
}
getchar();
return 0;
}
int Empty(struct stack *p)
{
return p->top == -1?TRUE:FALSE;
}
int Full(struct stack *p)
{
return p->top==MAXSTACK -1 ? TRUE: FALSE;
}
void Push(struct stack *p,int n)
{
if(Full(p))
printf("
Stack full");
else
p->Nodes[++(p->top)]=n;
}
int Pop(struct stack *p)
{
if(Empty(p))
{
printf("
Stack empty");
}
else
return p->Nodes[(p->top)--];
}
View more random threads:
NGUỒN SỈ ÁO KHOÁC DENIM NỮ TPHCM CHẤT LƯỢNG CAO Bạn muốn nhập sỉ áo khoác denim nữ để bắt đầu việc buôn bán Online phong cách nhưng lại chưa có kinh nghiệm, muốn sắm xưởng sỉ xống áo vừa có thể giải...
Xưởng sỉ áo khoác jeans denim giá...