黑马程序员技术交流社区
标题:
C#中 三元表达式
[打印本页]
作者:
jackwyang
时间:
2013-3-4 10:51
标题:
C#中 三元表达式
三元表达式比较特殊,由三个操作数组成,形式为:[表达式1] ? [表达式2] : [表达式3],其中:
表达式1为一个逻辑表达式;
如果表达式1的值为真(!=0),则整个表达式为表达式2的值,否则为表达式3的值;
参见如下范例:
[cpp] view plaincopyprint?#include <stdlib.h>
// 使用三元运算符计算绝对值
#define ABS(x) ((x) > 0 ? (x) : (x) * -1)
// 使用三元运算符计算最小值
#define MIN(a, b) ((a) < (b) ? (a) : (b))
// 使用三元运算符计算最大值
#define MAX1(a, b) ((a) > (b) ? (a) : (b))
// 不使用三元运算符计算最大值
#define MAX2(a, b) (((a) + (b) + ABS((a) - (b))) / 2)
int main(int argc, char* argv[])
{
int a = -10, b = 10;
printf("|a| = %d/n", ABS(a));
printf("min = %d/n", MIN(a, b));
printf("max = %d/n", MAX1(a, b));
printf("max = %d/n", MAX2(a, b));
system("pause");
return 0;
作者:
许庭洲
时间:
2013-3-4 21:09
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2