/* 範例檔名:condi.c ,條件運算子 ?: 的使用範例*/
#include <stdio.h>
#include <stdlib.h>
/* ?: 使用於前置處理中 */
#define Inter_i (i>3)? "i>3" : "i<=3"
/* 定義巨集函數 MAX(a,b) 傳回a與b之較大值 */
#define MAX(a,b) (a>b)? (a) : (b)
int main()
{
int i=3;/* 宣告變數 */
/* ?: 作為單一之程式敘述 */
/* ?: 中使用逗號執行多行之程式敘述 */
(i>3)?
printf("Integer "),/* i>3 時執行 */ :
printf("Integer "),/* i<=3 時執行 */ ;
/* ?: 使用於程式敘述中 */
printf("Integer %s\n", (i
>3)?"i>3":"i<=3" );
/* ?: 使用於前置處理中 */
printf("Integer %s\n", Inter_i
); printf("MAX(300.7,50)=%f\n", MAX
(300.7,50));
return 0;
}
Lyog56+E5L6L5qqU5ZCNOmNvbmRpLmMgLOaineS7tumBi+eul+WtkCA/OiDnmoTkvb/nlKjnr4TkvosqLwojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKLyogPzog5L2/55So5pa85YmN572u6JmV55CG5LitICovCiNkZWZpbmUgSW50ZXJfaSAoaT4zKT8gImk+MyIgOiAiaTw9MyIKLyog5a6a576p5beo6ZuG5Ye95pW4IE1BWChhLGIpIOWCs+WbnmHoiIdi5LmL6LyD5aSn5YC8ICovCiNkZWZpbmUgTUFYKGEsYikgKGE+Yik/IChhKSA6IChiKQoKaW50IG1haW4oKQp7CiAgICBpbnQgaT0zOy8qIOWuo+WRiuiuiuaVuCAqLwoKICAgIC8qID86IOS9nOeCuuWWruS4gOS5i+eoi+W8j+aVmOi/sCAqLwogICAgKGk+Myk/cHJpbnRmKCJJbnRlZ2VyIGk+M1xuIik6cHJpbnRmKCJJbnRlZ2VyIGk8PTNcbiIpOwoKICAgIC8qID86IOS4reS9v+eUqOmAl+iZn+Wft+ihjOWkmuihjOS5i+eoi+W8j+aVmOi/sCAqLwogICAgKGk+Myk/CiAgICAgICAgcHJpbnRmKCJJbnRlZ2VyICIpLC8qIGk+MyDmmYLln7fooYwgKi8KICAgICAgICBwcmludGYoImk+M1xuIikKICAgIDoKICAgICAgICBwcmludGYoIkludGVnZXIgIiksLyogaTw9MyDmmYLln7fooYwgKi8KICAgICAgICBwcmludGYoImk8PTNcbiIpCiAgICA7CgogICAgLyogPzog5L2/55So5pa856iL5byP5pWY6L+w5LitICovCiAgICBwcmludGYoIkludGVnZXIgJXNcbiIsIChpPjMpPyJpPjMiOiJpPD0zIiApOwoKICAgIC8qID86IOS9v+eUqOaWvOWJjee9ruiZleeQhuS4rSAqLwogICAgcHJpbnRmKCJJbnRlZ2VyICVzXG4iLCBJbnRlcl9pICk7CiAgICBwcmludGYoIk1BWCgzMDAuNyw1MCk9JWZcbiIsIE1BWCgzMDAuNyw1MCkpOwoKICAgIHN5c3RlbSgiUEFVU0UiKTsKICAgIHJldHVybiAwOwp9