C语言中有关条件运算符?:的问题

goodstudentli 2008-09-22 11:37:05
蒋老师您好,我是一个刚学C语言的网络学院残疾大学生。由于行动不便我对C语言知识的获得只能通过网上查找和翻阅书本。最近我听人介绍慕名找到贵网站,想向贵站中的专家请教“C语言(不是C++)中条件运算符?:是否像转义运算符(如\n)一样在计算机中当作一个字符处理?”的问题。
这个问题我查了一些书和网站,还请教了一些老师,都没有很准确地回答。麻烦蒋老师帮忙解答一下,谢谢。
...全文
153 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodstudentli 2008-09-23
  • 打赏
  • 举报
回复
谢谢大家了。
daohua 2008-09-23
  • 打赏
  • 举报
回复
编译器将代码扫描的时候都是做的字符看待的,只有在做语义分析的时候才会区分开不同的字符意义,比如关键字啊,用户标识符啊,运算符等等。
\n 在源代码里面是两个字符,但是编译器按照语法编译时会给它赋予特定的意义。
条件运算也是同理。
scq2099yt 2008-09-22
  • 打赏
  • 举报
回复
?:是操作符,\是转义字符,两是完全不同的概念,前者用于表达式当中,表示某种运算或操作;后者用于字符或字符串当中,与其后面的字符合在一起表示特殊的字符。
zhoujianhei 2008-09-22
  • 打赏
  • 举报
回复
编译原理有讲。

ilovedrv 2008-09-22
  • 打赏
  • 举报
回复
?:是c的运算符,也就是c语言的关键字,编译器在解析c源代码时,会对?:进行汇编,大致可以解释成1楼的例子,而转义符不是运算符,也就是说不是c语言的关键字,并不能被编译器解析,而是由c的标准库函数,例如printf等内部解析
cnzdgs 2008-09-22
  • 打赏
  • 举报
回复
?:是操作符,\是转义字符,两是完全不同的概念,前者用于表达式当中,表示某种运算或操作;后者用于字符或字符串当中,与其后面的字符合在一起表示特殊的字符。
jameshooo 2008-09-22
  • 打赏
  • 举报
回复
这是运算符,不是转义符,编译器会把它当作关键词来处理,而不是字符串。
b = (a==true ? 1 : 0);

可以解释成:
if (a==true)
b = 1;
else
b = 0;
blackcat242 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 scq2099yt 的回复:]
?:是操作符,\是转义字符,两是完全不同的概念,前者用于表达式当中,表示某种运算或操作;后者用于字符或字符串当中,与其后面的字符合在一起表示特殊的字符。
[/Quote]
正解

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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