宏定义中的:和?是什么意思 还有其他类似的符号吗?分别是什么意思!感谢各位大神赐教

小弟没分了... 小弟没分了 展开
 我来答
每壹段路都是壹种领悟
2012-08-14 · TA获得超过162个赞
知道小有建树答主
回答量:114
采纳率:33%
帮助的人:40.7万
展开全部
三目运算符  <表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.
  例:
  int a=2;
  int c=3;
  int b=(a>c)?2:3;
  输出b;
  这样的结果是b为3
  eg:
  int a=1,b=2,z;
  z=a>b?a:(a>b?a:b);
  cout<<"z:"<<z<<endl;
  这样输出的结果是:2
  eg:
  int a=1,b=2,z;
  z=a>b?a:b;//去了括号
  cout<<"z:"<<z<<endl;
  这样的输出的结果是:2
  三目运算中执行方向依次为自右向左。
  在PHP中运用实例如下:
  $ps= $us ? md5($_POST[password].ALL_PS)== $row[password] : FALSE;

参考资料: http://baike.baidu.com/view/1897705.htm

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
byzxybd
2012-08-14 · TA获得超过455个赞
知道小有建树答主
回答量:731
采纳率:100%
帮助的人:426万
展开全部
?:表达式 是在C中一个简单的条件表达式。除了这个表达式几乎没有别的地方用?了。
比如
#defind Max(a,b) ( (a) > (b) )?(a):(b)
这里就是说a 如果大于 b 返回a否则返回b
要实现 该功能也可以使用 if语句。可是?:表达式是最简单的写法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lgao622
2012-08-14 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
? :
是C语言中惟一的三目运算符
例如:
int a=3, b=4, c;
c= (a>b)? a:b;
表示 如果a>b为真,则c=a, 否则c=b;
结果为 :c=4;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式