将if-else语句转为 ? : 三目条件表达式

zenny_chen 2017-05-30 03:32:20

void foo(int a)
{
if(a > 0)
printf("Above zero! a + 1 = %d\n", a + 1);
else
printf("Below zero! a - 1 = %d\n", a - 1);
}


请将上述的if-else语句使用一条包含三目条件表达式的语句来代替。

顺便提一句,本人亲自著作的《C语言编程魔法书》已经开始预约了,详细信息请参考:https://item.jd.com/12737899067.html
...全文
929 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-06-06
  • 打赏
  • 举报
回复
奇技淫巧!
忘世麒麟 2017-06-06
  • 打赏
  • 举报
回复
引用 18 楼 baijiaheizhiganmao 的回复:
[quote=引用 17 楼 zenny_chen 的回复:] [quote=引用 16 楼 lgbxyz 的回复:] 你来试试用一条 return 语句?
void 函数 return 个毛线啊[/quote] 你不会写就别BB~[/quote] 代码始终还是要给人看的.过度优化未必就是"好"的代码[/quote] 楼上那句"你不会写就别BB~"不是写的,csdb的bug
忘世麒麟 2017-06-06
  • 打赏
  • 举报
回复
引用 17 楼 zenny_chen 的回复:
[quote=引用 16 楼 lgbxyz 的回复:] 你来试试用一条 return 语句?
void 函数 return 个毛线啊[/quote] 你不会写就别BB~[/quote] 代码始终还是要给人看的.过度优化未必就是"好"的代码
赵4老师 2017-06-06
  • 打赏
  • 举报
回复
脑筋操
yangyunzhao 2017-06-06
  • 打赏
  • 举报
回复
这种代码对工作有意义吗?
lin5161678 2017-06-06
  • 打赏
  • 举报
回复
return 不是不行 但挺无聊的
return (void)printf(a>0?"Above zero! a + 1 = %d\n":"Below zero! a - 1 = -%d\n", abs(a)+1);
zenny_chen 2017-06-05
  • 打赏
  • 举报
回复
引用 16 楼 lgbxyz 的回复:
你来试试用一条 return 语句?
void 函数 return 个毛线啊[/quote] 你不会写就别BB~
lin5161678 2017-06-04
  • 打赏
  • 举报
回复
printf(a>0?"Above zero! a + 1 = %d\n":"Below zero! a - 1 = -%d\n", abs(a)+1);
LubinLew 2017-06-04
  • 打赏
  • 举报
回复
广告贴
LubinLew 2017-06-04
  • 打赏
  • 举报
回复
引用 15 楼 zenny_chen 的回复:
[quote=引用 13 楼 lgbxyz 的回复:] 广告贴
你来试试用一条 return 语句?[/quote] void 函数 return 个毛线啊
zenny_chen 2017-06-04
  • 打赏
  • 举报
回复
引用 13 楼 lgbxyz 的回复:
广告贴
你来试试用一条 return 语句?
yi19861209 2017-06-02
  • 打赏
  • 举报
回复
自信男孩 2017-06-01
  • 打赏
  • 举报
回复
#define PRINT(a) ((a) > 0 ? printf("Above zero! a + 1 = %d\n", (a)+1) : printf"Below zero! a - 1 = %d\n", (a)-1))

void foo (int a)
{
	PRINT(a);
}
自信男孩 2017-06-01
  • 打赏
  • 举报
回复
#define PRINT ((a) > 0 ? printf("Above zero! a + 1 = %d\n", (a)+1) : printf"Below zero! a - 1 = %d\n", (a)-1))

void foo (int a)
{
	PRINT(a);
}
cain-won 2017-06-01
  • 打赏
  • 举报
回复
a > 0 ? printf("Above zero! a + 1 = %d\n", a + 1) : printf("Below zero! a - 1 = %d\n", a - 1);
qq_39003403 2017-06-01
  • 打赏
  • 举报
回复
qianlaicanguanxuexi
yi19861209 2017-06-01
  • 打赏
  • 举报
回复
zenny_chen 2017-06-01
  • 打赏
  • 举报
回复
楼上几位答得都不错,谁来试试用一条 return 语句?
paschen 2017-05-31
  • 打赏
  • 举报
回复

void foo(int a)
{
	a > 0 ? printf("Above zero! a + 1 = %d\n", a + 1) : printf("Below zero! a - 1 = %d\n", a - 1);
}
simonhehe 2017-05-31
  • 打赏
  • 举报
回复
void foo(int a)
{
	a > 0 ? printf("Above zero! a + 1 = %d\n", a + 1) : printf("Below zero! a - 1 = %d\n", a - 1);
}
加载更多回复(3)

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧