c语言程序求分析输出,求详细

void main()
{
char c=48;
int i, mask=01;
for(i=1; i<=5; i++)
{ printf("%c", c|mask);
mask = mask<<1; }
}

48表示成二进制就是00110000
|叫按位或,会将两个操作数的对应位逐位进行或运算。
mask是掩码,初值为1,00110000|1=00110001=49,输出ASCII码49='1',mask左移一位变为10;
第二次循环00110000|10=00110010=50,输出ASCII码50='2',mask左移一位变为100;
第三次循环00110000|100=00110100=52,输出ASCII码52='4',mask左移一位变为1000;
第四次循环00110000|1000=00111000=56,输出ASCII码56='8',mask左移一位变为10000;
第五次循环00110000|10000=00110000=48,输出ASCII码48='0',mask左移一位变为100000。
因此最终输出12480。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网