永发信息网

VC++ 简单问题 IF 条件 为什么运行不正确?

答案:2  悬赏:50  手机版
解决时间 2021-11-26 17:01
VC++ 简单问题 IF 条件 为什么运行不正确?
最佳答案
楼主你好!

根据你的说明,你给的程序中没有 与 操作,而是 或 操作。
要"a 和 b 都大于等于 10"或"a 和 b 都小于 10"只能用 与操作,而不能用或操作。与操作符是 &&和&,而 || 和|是或操作。一楼朋友的正解。

另外,你给出的程序,有明显的语法错误。因为有一个else if的话,必须再给出一个if。或者,头一个 if只要用一个else就行,不要else if。

下面是几种写法,都可以满足你的需要:

1、if ((b >= 10 && a >= 10)
MessageBox("回放次数:" + str + "\n间隔时间:" + str2);
else
if (b < 10 && a < 10)
MessageBox("间隔时间不能小于10");

2、if ((b >= 10 && a >= 10)
MessageBox("回放次数:" + str + "\n间隔时间:" + str2);
if (b < 10 && a < 10)
MessageBox("间隔时间不能小于10");

3、if (( b >= 10) && (a >= 10))
{
MessageBox("回放次数:" + str + "\n间隔时间:" + str2);
}
else if ((b < 10) && (a < 10))
{
MessageBox("间隔时间不能小于10");
}
else
MessageBox("没有合适的操作");

另外,提个建议,建议你弄清楚各操作符的作用,以及它们的优先级别,这样就能运用自如。

还有,对于if和else的话,有些时候,并不是一定要写大括号{}才行,有时候不写大括号,比如第1种和第2种写法,这样更显得结构清晰。以后,你到公司去工作,在实际开发当中,就会体会到的,对于在大规模编程中,如何优化你的代码,和提高模块化思想,会有很大的帮助。

像你的程序这类 非此即彼 的问题,可以用switch的case选择分支来做,虽然if条件判断也能达到要求,但他们的实现原理、运行过程,特别是对资源的使用情况,却是天壤之别,就拿你这个问题来说,如果用if和else的话,要执行 2 条路径,如果用第 3种写法,用了一个嵌套,则要执行 3条路径,而如果用switch的话,每种操作只需要执行 1条路径。可想而知,哪种方法的执行效率高些?呵呵

希望能为你带来帮助,谢谢!
全部回答
if (( b >= 10) && (a >= 10))
{
MessageBox("回放次数:" + str + "\n间隔时间:" + str2);
}
else if ((b < 10) && (a < 10))
{
MessageBox("间隔时间不能小于10");
}
这样子就可以了,因为||是只要if判断语句里,满足一个就可以执行语句体,所以达不到你要的效果,&&就是要满足所有的条件才能执行语句体
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
硅油的对人体的危害
我17,陪读时做了,二一三471二八四4,请加
古墓魅影之崛起把车推下去 那里怎么过
哈哈哈16344除以36的竖式怎么列
做一个母婴网站需要提前做什么准备
故事咖啡地址在什么地方,想过去办事,
对数通俗来讲是什么
直角三角形斜边是5米,两条直角边分别长3米和
无从应对是成语吗?谢谢大家
这是买没买到
一张普通光盘的容量有多少
广联达井盖板钢筋怎么布置
和你喜欢的人聊天。然后对方说睡觉了。你该怎
王乾昊这个名能打几分?龙年起这名字好不?
2o1511月24的天天向上杨洋'
推荐资讯
中国农业银行整存整取存30000存一年利息是多
宝马 公司的目标营销策略模式是什么?
桦英网吧地址好找么,我有些事要过去,
环城汽车修理厂(汕尾海丰县)地址在什么地方,
胺基和羧基的脱水缩合反应, 不用缩合剂,只
求一些现代流行音乐用二胡来演奏的曲子
怎么可以让一个人臭名远扬
这首歌叫什么?歌词“应该早已没期待”
请问观音桥的潮火锅和刘一手心火锅哪个更好吃
咏柳,一,二句写出了柳树的什么和什么
S3。dade火影劫成名战是哪一场???求名字…
纹身龙有多少种图片
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?