2013-06-23 43 views
3
#include<stdio.h> 
int main() 
{ 
    printf("%d\n", 4 ?: 8); 
} 

按照C标准这个计划是无效的,因为它缺少。但有趣的事情了?:之间的表达是有当我编译它打印4的代码。怎么来将打印4而不显示任何编译错误问题与条件运算

回答

6

这是一个gcc扩展。

x ? : y 

相当于

x ? x : y 

参见here详细。

+2

+1也用于链接gcc文档。 – alk