首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Parasoft检测到错误

Parasoft检测到错误
EN

Stack Overflow用户
提问于 2016-03-03 16:25:00
回答 1查看 124关注 0票数 2

我在C中有一个函数,它包含以下几行:

代码语言:javascript
复制
while (src=strstr(src,key)) {
        memmove(src,src+strlen(key),1+strlen(src+strlen(key)));
    }

当我运行parasoft来检查函数时,我从以下几行收到了很多错误:

代码语言:javascript
复制
Not enclosed with brackets assignment was found in 'while' condition expression
LHS operand of '+' operator is 'unsigned long'
LHS operand of '+' operator is 'unsigned long'
LHS operand of '+' operator is 'unsigned long'
RHS operand of '+' operator is 'unsigned long'
RHS operand of '+' operator is 'unsigned long'
RHS operand of '+' operator is 'unsigned long'
Third param to 'memmove' function depends on second: src, key

你知道这些错误来自哪里吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-03 16:31:50

第一条消息是因为工具怀疑你的意思是:

代码语言:javascript
复制
while (src == strstr(src, key)) {  /* comparison instead of assignment */

为了明确赋值的目的,一些工具要求您编写

代码语言:javascript
复制
while ((src = strstr(src, key))) {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35766793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档