即使在 Ubuntu 20.04、编译器 gcc 9.3.0 中包含 string.h 后,也无法使用 strrev() 函数我能做什么?

问题描述

即使在 Ubuntu 20.04 中包含 string.h 后,我也无法使用 strrev() 函数。编译器说对 strrev() 的引用未定义,但 strlen() 和其他函数可以工作。我该怎么办?

解决方法

你需要自己实现它。

char *strrev(char *str)
{
    char *end,*wrk = str;
    {
        if(str && *str)
        {
            end = str + strlen(str) - 1;
            while(end > wrk)
            {
                char temp;

                temp = *wrk;
                *wrk++ = *end;
                *end-- = temp;
            }
        }
    }
    return str;
}