读书人

这个怎么改正

发布时间: 2012-04-11 17:42:33 作者: rapoo

这个如何改正
for(int j=0;j<(!i?12:7);j++)
m++;

前面有个变量i决定循环次数,如果i为0则循环12次,否则循环7次;可是运行起来是个无限循环,怎么回事?

[解决办法]
if (i==0) n=12; else n=7;
for(int j=0;j<n;j++) {
m++;
}


[解决办法]
楼上正解,lz可以换个角度,这样代码虽然多了,但不失为一个好办法
[解决办法]
优先级不对,价格括号就行了
for(int j=0;j<((!i)?12:7);j++)
m++;

[解决办法]

探讨
好了,原来执行次数对的,就是监视表达式j<(!i?12:7)的时候提示cxx0017 没有找到符号i?12
无法正常看表达式的真假了... 是ide无法识别了?

[解决办法]
哈哈。 我还是觉得简单易懂的代码好点。
[解决办法]
探讨
if (i==0) n=12; else n=7;
for(int j=0;j<n;j++) {
m++;
}

[解决办法]
LZ优先级的问题,还是写LS的代码好些。
[解决办法]
楼主代码没问题呀,VS2010正常运行,i=0循环12次,i=1循环7次,!本来就是最高优先级
[解决办法]
探讨

楼上正解,lz可以换个角度,这样代码虽然多了,但不失为一个好办法

读书人网 >C++

热点推荐