char arr[512];
...
sprintf(arr, "%s %0x", arr);
我收到有关sprintf语句的以下消息:在对函数sprintf的调用中,参数arr和arr可能指向同一对象。
这里有什么问题吗,还是我认为这是假阳性?
重叠错误与您将arr
复制到其自身从而重叠的事实有关。
此外,在代码中:
sprintf(arr, "%s %0x", arr);
^^^
[%s
采用arr
,但%0x
并未采用应有的无符号int变量,因此它试图从arr
中采用它,因此您可能缺少无符号的int参数。