硬汉嵌入式论坛

 找回密码
 立即注册
查看: 847|回复: 3
收起左侧

[技术讨论] 条件表达式为何不执行呢

[复制链接]

15

主题

78

回帖

123

积分

初级会员

积分
123
发表于 2022-11-28 19:02:45 | 显示全部楼层 |阅读模式
在给单片机写代码时,遇见一个关于C语言条件表达式的问题,错误出在条件表达式里:
[C] 纯文本查看 复制代码
#include "stdio.h"

int main()
{
	int i=1;
	int flag;
	while(1)
	{
		i?(flag=0,break):continue;//error
	}
	flag=1;
	return 0;
}

根据i的值选择是执行(flag=0,break)还是执行continue,但是编译时总是出现错误:
image.png
为何会出现这类错误呢?
回复

使用道具 举报

79

主题

712

回帖

949

积分

金牌会员

积分
949
发表于 2022-11-28 21:44:53 | 显示全部楼层
?:只能用于表达式不能使用关键字,比较基础的语法,建议好好看看
回复

使用道具 举报

15

主题

78

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2022-11-29 15:23:29 | 显示全部楼层
庄永 发表于 2022-11-28 21:44
?:只能用于表达式不能使用关键字,比较基础的语法,建议好好看看

多谢多谢。
回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
发表于 2023-2-2 14:08:32 | 显示全部楼层
兄弟是受别的语言的影响吧,C 中三目运算符必须是表达式,不能是语句。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-2 22:35 , Processed in 0.156977 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表