相关疑难解决方法(0)

警告:无符号表达式的比较> = 0始终为true

编译C文件时出现以下错误:

t_memmove.c: In function ‘ft_memmove’:
ft_memmove.c:19: warning: comparison of unsigned expression >= 0 is always true
Run Code Online (Sandbox Code Playgroud)

这是完整的代码,通过cat ft_memmove.c:

#include "libft.h"
#include <string.h>

void    *ft_memmove(void *s1, const void *s2, size_t n)
{
    char    *s1c;
    char    *s2c;
    size_t  i;

    if (!s1 || !s2 || !n)
    {
        return s1;
    }
    i = 0;
    s1c = (char *) s1;
    s2c = (char *) s2;
    if (s1c > s2c)
    {
        while (n - i >= 0) // this triggers the error
        {
            s1c[n …
Run Code Online (Sandbox Code Playgroud)

c gcc

3
推荐指数
1
解决办法
8182
查看次数

标签 统计

c ×1

gcc ×1