那个:冒号是什么意思啊?-i:i
这是选择表达式,如:
a>b?a:b
表示如果a>b则该式为a,否则该式为b。
结合你给的代码:
sum+=i%2==0?-i:i;
也就是
sum=sum+(i%2==0?-i:i);
这里面i%2==0?-i:i就是一个选择表达式,若i为偶数,该值为-i,否则为i
冒号后面的数字表示结构成员所占的位长度