||和,有什么不同

smileme 2001-07-20 07:38:18
1.if(child->data='('||child->data=',')
2if(child->data='(',child->data=',')
头一种写法,编译时编译器老是在child->data=','的地方报错(关于左值的)
为什么?(我用的是bc5.0)
void makeTree(TreeNode * root,TreeNode * child)
{
if(child->data='(',child->data=',')
root->left=child;
else if(child->data='T',child->data='a',child->data='S')
root->middle=child;
else if(child->data='T2',child->data=')')
root->right=child;
}
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
SCUM 2001-07-20
  • 打赏
  • 举报
回复
同意楼上

补充:,是先自左至右运算,整个表达式的结果取最右边子项的值。


c_word 2001-07-20
  • 打赏
  • 举报
回复
我认为if(child->data='('¦¦child->data=',')应该是if(child->data=='('¦¦child->data==',')吧。
||是或的意思, ,是先运行逗号前的再运行逗号后的,

69,368

社区成员

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

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