我有一个C linux函数,它有以下代码:
void A (char *s1, char *s2)
{
...
*s2 = NULL;
...
}
在这个函数中我将值放入s2,最后放入NULL。
代码:
*s2 = NULL
生成以下警告: 赋值从指针生成整数而没有强制转换
我想修复我的代码,我该怎么做?
感谢
答案 0 :(得分:5)
您的系统似乎将NULL
定义为类似(void *)0
的内容。这意味着你的任务正在执行警告所说的 - 从没有强制转换的指针生成一个整数。您无论如何都不想将NULL
放入char
变量中 - 您可能正在寻找:
*s2 = '\0';
答案 1 :(得分:2)
我认为你的意思是null character,而不是NULL pointer:
*s2 = '\0';
答案 2 :(得分:1)
你混淆了两个相似的术语: