首页 > 其他 > 详细

三目运算符 段错误问题记录

时间:2018-07-06 19:18:29      阅读:158      评论:0      收藏:0      [点我收藏+]

  在最近的一个项目中为了缩短代码量,不使用if……else去做判断,就使用了三目运算符。编译通过,但是在调试功能得时候,老是出现段错误。花费了一个多小时时间才找到问题出在三目运算符。

  问题点:

  server_info_len = SERVER_INFO_LEN_MAX <  strlen(pdata) ? SERVER_INFO_LEN_MAX  : strlen(pdata);

  在三目运算中使用了strlen(pdata),就会出现段错误。

  修改后:

  tmep_len = strlen(pdata);

  server_info_len = SERVER_INFO_LEN_MAX < tmep_len ? SERVER_INFO_LEN_MAX : tmep_len;

  此时编译后运行程序正常。

 

  原因暂时还没有搞清楚,欢迎各位大神评论留言。谢谢

三目运算符 段错误问题记录

原文:https://www.cnblogs.com/shiyk/p/9275230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!