以下程序產出12480作爲輸出。%c如何在C程序中打印值?
#include<stdio.h>
int main()
{
char c=48;
int i, mask=01;
for(i=1; i<=5; i++)
{
printf("%c", c|mask);
mask = mask<<1;
}
return 0;
}
現在,我的問題是,「%c」如何在每個循環後打印整數值1,2,4,8,0。它應該打印一個字符作爲一個值。如果我簡單地使用下面的程序,
#include<stdio.h>
int main()
{
char c=48;
int i, mask=01;
printf("%c",c);
return 0;
}
它打印0,但是當我更改標識符%C至%d它打印48。任何人都可以告訴我這是怎麼回事!?
啊!爲此非常感謝! – Chandeep 2012-02-05 11:38:50
只是一件事48的二進制是110000而不是110001 – Chandeep 2012-02-05 11:41:53
@ user975234哎呀,我記住了最後的結果,所以錯誤鍵入它。 – 2012-02-05 11:47:49