条件表达式 ? :

Hamber_Bao 2016-07-07 03:35:20

int a = 8;
//我想对这个变量a进行判断,如果a大于0的话,输出一句hello,不大于的话输出 world 但是一下语句提示没有左值,条件表达式语句必须得赋值给一个左值吗

a>0 ? printf("hello"); : printf("world"); //执行不了

...全文
179 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2016-07-07
  • 打赏
  • 举报
回复
运算符连接的是表达式,而不能是语句

你的前一个分号已经使得这个句子结束了

如果需要根据条件执行不同的语句,可以改写成if else形式

或者写成:printf("%s",a>0?"hello":"world");
liups 2016-07-07
  • 打赏
  • 举报
回复
引用 3 楼 qq423399099 的回复:
多了个分号,去掉试试,我这里VS上是可以运行出正确结果的
a>0 ? printf("hello") : printf("world");
学习了
逆水东流 2016-07-07
  • 打赏
  • 举报
回复
int a = 8; a>0 ? printf("hello") : printf("world");
小灸舞 版主 2016-07-07
  • 打赏
  • 举报
回复
多了个分号,去掉试试,我这里VS上是可以运行出正确结果的
a>0 ? printf("hello") : printf("world");
liups 2016-07-07
  • 打赏
  • 举报
回复
int a  = 8;
//我想对这个变量a进行判断,如果a大于0的话,输出一句hello,不大于的话输出  world 但是一下语句提示没有左值,条件表达式语句必须得赋值给一个左值吗

printf("%s",a>0?"hello":"world");  //执行不了
Hamber_Bao 2016-07-07
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶

69,382

社区成员

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

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