C Linux警告:赋值在没有强制转换的情况下从指针生成整数

gln*_*gln 0 c linux warnings casting

我有一个C linux函数,它具有以下代码:

void A (char *s1, char *s2)
{
...
*s2 = NULL;
...
}
Run Code Online (Sandbox Code Playgroud)

在这个函数中我将值放入s2,最后放入NULL.

代码:

*s2 = NULL
Run Code Online (Sandbox Code Playgroud)

生成以下警告:赋值从指针生成整数而不进行强制转换

我想修复我的代码,我该怎么做?

谢谢

Car*_*rum 5

您的系统似乎已NULL定义为类似的内容(void *)0.这意味着你的任务正在执行警告所说的 - 从没有强制转换的指针生成一个整数.你不想把NULLchar变量反正-你可能正在寻找:

*s2 = '\0';
Run Code Online (Sandbox Code Playgroud)

  • @Christoph,听起来很主观,但你说'0'也能正常工作. (3认同)