好久没碰编程了,最近有点闲,又拾起来。做了个简单的网络测试程序,测试的时候发现有条语句老是获取不到结果。如下:

if(portnumber=atoi(argv[1])>65535)

portnumber始终是0,试了半天才想起来,原来是C语言运算符优先级的问题。‘>’优先级高于‘=’,这条先计算‘>’运算符,‘>’执行顺序是从左至右。首先计算函数atoi(argv[1])的返回值,然后和65535比较,若大于,则表达式(atoi(argv[1])>65535)=1,为真,若小于,则为0。然后将0或1赋值给portnumber,所以不管什么情,portnumber始终是0或者1。

正确的写法应该是

if( (portnumber=atoi(argv[1])) >65535)

判断端口号是否正确,更正确的写法是:

portnumber=atoi(argv[1]);

if(portnumber<0 || portnumber>655345)

转载于:https://www.cnblogs.com/hb7560/p/5070147.html

关于C语言中运算符优先级的一次错误相关推荐

  1. C语言中运算符的优先级问题(如何巧妙记忆运算符的优先级顺序)

    文章目录 C语言中的运算符 C语言中运算符的优先级 帮助记忆优先级的方法 先粗分 再细分 最后吃透 因不明确优先级而造成的常见问题 C语言中的运算符 C语言中的运算符说多也多,说不多也不多,包括以下运 ...

  2. python中运算符优先级_介绍python中运算符优先级

    原标题:介绍python中运算符优先级 下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合).这意味着在一个表达式中,Python会首先计算表中较下面 ...

  3. 在c语言中逻辑运算符的优先级是,c语言中逻辑运算符优先级是什么?

    c语言中逻辑运算符优先级由高到低依次是:!(逻辑非).&&(逻辑与).||(逻辑或).逻辑表达式的值为逻辑值:逻辑值分为逻辑真值和逻辑假值,在判断时,仅有零值被判断为逻辑假值(fals ...

  4. c语言中 的优先级几级,C语言中的操作符优先级的详细介绍

    C语言中的操作符优先级的详细介绍 C语言中操作符的优先级大全, 当然c++, Objective-C,大部分语言都试用. 下面是来自The C Programming Language 2th的总结. ...

  5. c语言的运算符优先级文档下载,c语言运算符优先级

    c语言运算符优先级Tag内容描述: 1.运算符的优先级与结合律(从高到低排列)=优先级 名称 符号 结合性 1 数组下标 左结合性 1 函数调用 () 左结合性 1 结构和联合的成员. - 左结合性 ...

  6. C语言逗号运算符优先级

    在C语言中逗号运算符(,)是优先级最低的运算符. 所谓的优先级是指当有许多运算符在一起的时候,谁先执行的问题.例如:1+2*3,先执行加号运算符还是先执行乘号运算符. 赋值运算符(=)是优先级较低的运 ...

  7. 【C语言】运算符优先级

    只有三类运算符是右结合性[单目+赋值+问号]. ! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 文章目录 1. 括号是第一 2. ...

  8. x在c语言中运算符代表什么,C语言中条件运算符如何用?代表什么意义?

    在c语言中,何为条件运算符!具体的条件运 计算机具有逻辑判断能力,其判断的依据是计算机内部进行逻辑运算的结果.C语言提供了关系运算和逻辑运算,用来构造C程序控制中的条件,实现程序的选择结构和循环结构控 ...

  9. C语言的运算符优先级表格

    C语言的运算符包括单目运算符.双目运算符.三目运算符,优先级如下: 第1优先级:各种括号,如().[]等.成员运算符 . : 第2优先级:所有单目运算符,如++.–.!.~等: 第3优先级:乘法运算符 ...

最新文章

  1. 【译】让垃圾回收器高效工作(四)
  2. PHP快速排序(原地切分)
  3. Delphi IDE使用的一些主要技巧
  4. Python的Request请求跳过认证及禁用警告
  5. AI基础:机器学习和深度学习的练习数据
  6. 【MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记】
  7. 当下的互联网时代,“急功近利”不是坏事
  8. SVG 动画(animate、animateTransform、animateMotion)
  9. Ubuntu16.04安装ROS Kinetic详细过程
  10. JDBC09 CLOB文本大对象
  11. 联想g510拆键盘教程_联想g510快捷键
  12. 云计算是什么?新手学习云计算的学习路线
  13. WPS安装后显示系统字体找不到
  14. Python 合并两个或多个pdf文件(获取pdf文件指定页)
  15. h5调用手机相册摄像头以及文件夹
  16. 解决训练时显存不断增大问题
  17. 安装linux提示没有系统盘,我有RedHat安装光盘,但没有安装软盘, 应怎么办?linux安装...
  18. 程序员在家办公太无聊,推荐你看完这十部电影。收货满满
  19. Linux下的文件读写
  20. 解决打开页面白屏问题

热门文章

  1. 汇编语言:实验7寻址方式在结构化数据访问中的应用
  2. 【搜索引擎】全文索引数据结构和算法
  3. 如何在Mac上用汇编语言写HelloWorld
  4. [LeetCode]15. 3Sum
  5. VI编辑,backspace无法删除解决方法
  6. JS事件 卸载事件 当用户退出页面时(页面关闭、页面刷新等),触发onUnload事件,同时执行被调用的程序。注意:不同浏览器对onunload事件支持不同。...
  7. Eval绑定日期时,修改日期显示的格式
  8. PHP iconv 解决utf-8和gb2312编码转换问题
  9. jQuery.Callbacks之demo
  10. 麦肯锡70页特辑报告论述《人工智能的未来之路》(完整版PPT)