2013-06-23 108 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