如果不满足条件,这是重置计数器的有效/合理方式吗?这是我能想到的最紧凑的方式。
int counter = 0;
int a,b;
// Do .. and assign a and b
counter = ((a<b) ? counter++ : 0);
答案 0 :(得分:8)
您已经分配到counter
,因此也不要使用++
。
counter = condition ? (counter + 1) : 0;
答案 1 :(得分:3)
counter = (condition ? counter++ : 0);
的行为未定义,因为没有排序点。 (三元组没有排序,也没有排序)。
它的形式类似于i = i++;