我正在尝试对字符串执行简单的strrev,并且在Mac上编译该错误时,总是收到此错误

Undefined symbols for architecture x86_64:
"_strrev", referenced from:
  _main in cc1zSAum.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status


我的代码是:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char *argv[]){
  char str[] = "Hello world";
  char * test;
  test = strrev(str);
  printf("%s",test);
  return 0;
}


我尝试过strrev线
但是什么都没用

任何帮助,将不胜感激
谢谢

最佳答案

该名称没有标准的C函数。我做了一些谷歌搜索,看起来有些编译器和/或C库实现包含这样的功能,例如非标准扩展,但是您不能指望任何任意库都具有一个。

不过,编写自己的脚本将足够简单-甚至可以是一个单行循环的主体。

关于c - 反转C x86错误中的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8461928/

10-11 19:42