0
我收到这些警告,我不知道为什么。我已将警告消息放在与其对应的代码旁边的代码中。警告:指针和整数之间的比较,赋值使指针整数从指针没有转换?
void removeNewLine (char * userName, int charLenght)
{
int i=0;
do {
if (userName [i]=='/n') //comparison between pointer and integer
{
userName [i]='/0'; //assignment makes integer from pointer w/o cast
}
i++;
} while (i<charLenght);
}
不要在数组名和下标之间加一个空格:'userName [i] =='\ n''等等(特别是当你不在二元运算符'=='周围放置空格时)。您已被正确地告知了斜线与反斜杠的误用。但是,错误消息对我来说毫无意义。虽然符号'/ n''不是可移植的(GCC表示'警告:多字符字符常量'),它会生成一个整数值,而不是一个指针值。你确定你准确地复制并粘贴了你的代码吗?另外,需要使用空字节来扫描每一个换行符是不寻常的;通常,第一个就足够了(添加'break;')。 –
当然,错误信息与'userName [i] =“/ 0”;'和'username [i] ==“/ n”'一致。 –