c语言中的一个经典问题 “模拟银行输出程序”(阿拉伯数字转大写汉字)

我学习“模拟银行输出程序”的时候,遇到一个函数printinterger(char a[],int len)
中有一步这样的,
if((j==5&&tag1)||(j==13&&tag2)||(j==21&&tag3))//第一步

else if((j==21&&!tag3)||(j==5&&!tag1)||(j==13&&!tag2));第二步
printf("万")
为什么在第一步中是按照j==5,j==13,j==21的判断顺序,
而在第二步中,按照j==21,j==5,j==13的判断顺序?

其实这种短路逻辑判断是你自己事先进行猜测的,在第一种情况下认为j==5出现的可能性比较高所以就把他放前面,同样else中也是这样,这种没多大的纠结必要
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

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