我有一个具有以下代码的 C linux 函数:
void A (char *s1, char *s2)
{
...
*s2 = NULL;
...
}
在这个函数中,我将值放入 s2,最后放入 NULL。
代码:
*s2 = NULL
生成以下警告: 赋值从指针生成整数而不进行强制转换
我想修复我的代码,我该怎么做?
谢谢
最佳答案
您的系统似乎将 NULL
定义为类似于 (void *)0
的内容。这意味着您的作业正按照警告所说的进行操作——从一个没有强制转换的指针生成一个整数。您不想将 NULL
放入 char
变量中 - 您可能正在寻找:
*s2 = '\0';
关于C Linux 警告 : assignment makes integer from pointer without a cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113700/