printf("%d\n",(w<x)?w:z<y?z:x));
(w<x)?w:z<y?z:x基本都不懂...
还有此处右括号是不是打印错误.......
第1个回答 2013-06-18
(w<x)?w:z<y?z:x
相当于:
if (w < x)
{
printf("%d\n",w);
}
else
{
if (z < y)
{ printf("%d\n",z);
}
else
{
printf("%d\n",x);
}
}
最后面确实多了一个右括号,会报错的。
第2个回答 2019-08-21
你写的那段代码是交换了B和D.
如果交换A和B的话:
c=a;//a的值临时放入c
a=b;//把b的值赋给a
b=c;//把c(也就是原来a的值)赋给b
如果交换A和B的话:
c=a;//a的值临时放入c
a=b;//把b的值赋给a
b=c;//把c(也就是原来a的值)赋给b
第3个回答 2019-03-25
这个是C语言的一个三目运算符 ?:
意思是先判断?前面的表达式的逻辑值是否为真,如果为真,则取冒号前面的表达式的值为整个表达式的值,如果为假,则取冒号后面的表达式的值为整个表达式的值。
意思是先判断?前面的表达式的逻辑值是否为真,如果为真,则取冒号前面的表达式的值为整个表达式的值,如果为假,则取冒号后面的表达式的值为整个表达式的值。
第4个回答 2019-04-25
这个单独看没有什么意思,应该是两个东西,你最好贴出完整代码行看。
一般是这样的:
char c;
if(c!='a')//!=是“不等于”逻辑判断语句
一般是这样的:
char c;
if(c!='a')//!=是“不等于”逻辑判断语句
第5个回答 2013-06-18
问号的意思是如果条件是真的,那就取前面的值,如果是假的,那就取后面的值