三目运算符 段错误问题记录
Posted shiyk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三目运算符 段错误问题记录相关的知识,希望对你有一定的参考价值。
在最近的一个项目中为了缩短代码量,不使用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;
此时编译后运行程序正常。
原因暂时还没有搞清楚,欢迎各位大神评论留言。谢谢
以上是关于三目运算符 段错误问题记录的主要内容,如果未能解决你的问题,请参考以下文章