以下代码都是基于Dev-C++ 6.3.结果如有不同或不能编译,可能是执行标准不同。
#include<stdio.h>
#include<ctype.h>
#include<string.h>
//#include <bits/stdc++.h>
main()
{
int a=12,b=32,c,d,x1,x2;
c=a<b?x1=13,a:x2=35,b;
d=a>b?x1=13,a:x2=35,b;
printf("%d %d",c,d);
}
猜猜c和d的结果多少?
没想到吧,哈哈哈
那代码换一下呢?
c=a<b?a,x1=13:b,x2=35;
d=a>b?a,x1=13:b,x2=35;
结果如下, 聪明的你对了吗
具体的细节我也不知道为什么,也不知道在哪参考文献。如果有大神知道细节或运算规则,欢迎在评论区解答。
在这里告诉大家一个方法,如果想要附正确的值给变量·,那就写如下代码。
c=a<b?(a,x1=13):(b,x2=35);
d=a>b?(a,x1=13):(b,x2=35);
对,就是加括号。可以得到我们想要的值
代码示例:
c=a<b?(x1=13,a):(x2=35,b);
d=a>b?(x1=13,a):(x2=35,b);
结果:
如果觉得有趣,不妨点个赞哈,欢迎在评论区留言。