程序如下
for (int i = 0; N > 0 ? (i < N) : true; i++)
想知道这个循环的判断条件到底应该怎么解释
循环开始判断N是否大于0
如果N大于0则使用括号内的判断i<N如果i<N则进行下一次循环如果不小于N则终止循环
如果N不大于0则循环条件为true 进行下一次循环
N > 0 ? (i < N) : true;这个叫条件运算符 也叫三目运算符 有三个给定值参与运算
实现?前面需要给一个布尔值
当?前边的等式输出为真时 语句输出 :前边的等式结果
当?前边的等式输出为假时 语句输出 : 后边的等式结果
就相当于if else的简化版
如 N > 0 ? (i < N) : true
就相当于
if(N>0){
i<N
}
else{
true
}
你不应该先告诉我们N是啥子东西么
满足 N<=0或者i<N的时候执行循环体
for (int i = 0; N > 0 ? (i < N) : true; i++)
如果 N > 0, 那么就用 (i < N), 这个循环走 N 次。
如果 N <= 0, 那么就用 true, 这个循环不停止,除非在循环体内有 break;return; 之类的控制语句。
好的,谢谢大家