一个问题
请问1%2?是什么意思啊就是这样的
cout<<(1%2?"**":"++++")
他没有==,也没有!=,那怎么看呢
谢谢 a?b:c 是三元操作符,a为true时,执行b,a为false时,执行c。 1%21对2取余 就是1除以2得到余数%是取余符号 1%2是求余,也就是1除以2得到的余数,在C语言中0和非0可以当成真假来用,这里是真的意思 c++的三元操作符形式:
//条件表达式 ? 表达式1 : 表达式2;
语义:如果“条件表达式”为true,则整个表达式的值就是表达式1,忽略表达式2;如果“条件表达式”为false,则整个表达式的值就是表达式2,等价于if/else语句。
if (条件表达式)
result = 表达式1;
else
result = 表达式2;
%是求余运算符,也叫模除运算符,用于求余数。
%要求两个操作数均为整数(或可以隐式转换成整数的类型)。
标准规定:
如果%左边的操作数为负数时,则模除的结果为负数或者0,
如果%左边的操作数为正数时,则模除的结构为正数或者0。
1%2是求余,也就是1除以2得到的余数,这里的余数为1。在C语言中非0和0可以当成真假来用。这里是真的意思。
所以,cout<<(1%2?"**":"++++");
cout输出**
行客 发表于 2019-2-11 15:27
c++的三元操作符形式:
//条件表达式 ? 表达式1 : 表达式2;
感谢
页:
[1]