我正在尝试char * rv与将返回int. fib()返回一个整数。我遇到的主要问题是strcat()签名需要 aconst char *因为它是第二个参数:
char * strcat ( char * destination, const char * source );
这是我的代码的一个小示例。fib()计算第 n 个斐波那契数 - 在本例中为第 7 个斐波那契数。
char * rv;
int num;
rv = (char*)malloc(2048*sizeof(char));
num = 7;
...
strcat(rv, (const char *)itoa(fib(num), rv,10));
显然这是错误的,不会编译。最干净的方法是什么?我是否需要另一个char * var来存储第一个的结果itoa(),而不是使用rv?
感谢您提供任何帮助!