发布网友 发布时间:2024-10-22 03:40
共3个回答
热心网友 时间:5分钟前
对于C++,||运算是,如果左边部分是1,那么右边不需要判断,直接返回1;
所以对于++i||++j&&++k,++优先级高于||,首先判断++i,i=2是true,所以直接返回1,后面不需要判断了。
所以输出1;
而j,k值没有改变,i变成2;
所以输出:2,1,1
热心网友 时间:3分钟前
int i=1,j=1,k=1;
printf("%d\n",++i||++j&&++k);
printf("%d %d %d\n",i,j,k);
这里的||是短路或,在++i满足时,直接不执行后面的判断,返回真。
此时的i=2,j和k由于没执行,所以还是1.
热心网友 时间:9分钟前