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中也是这样,这种没多大的纠结必要
温馨提示:答案为网友推荐,仅供参考
相似回答