以下程序产生12480作为输出.
#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;
}
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是,"%c"如何在每个循环后打印整数值1,2,4,8,0.它应该打印一个字符作为值.如果我只是使用以下程序,
#include<stdio.h>
int main()
{
char c=48;
int i, mask=01;
printf("%c",c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它打印0但是当我将标识符%c更改为%d时它打印48.任何人都可以告诉我这是怎么回事!?