我是新手,需要您的帮助来返回以下函数中的结果数组:
``` int* myFunction() { int myArray[3] = {1, 2, 3}; return myArray; } ```
这个问题已经在stackoverflow上有了解答,您可以查看这里。
我需要更多的想法....
谢谢。
``` int* myFunction() { int myArray[3] = {1, 2, 3}; return myArray; } ```
这个问题已经在stackoverflow上有了解答,您可以查看这里。
void getBase(int n, int b)
{
const size_t SIZE = 32;
char arr[32+1]={0}; int digits=SIZE, i;
char* ptr = arr;
while (n > 0)
{
int t = n%b;
n/=b;
arr[--digits] = numbers[t];
}
while ( *ptr == '\0') ptr++;
// NEED To return a ref to `ptr`
}
我的解决方案:
void getBase(int n, int b, /*send some array as a parameter*/ char* str)
{
const size_t SIZE = 32;
char arr[32+1]={0}; int digits=SIZE, i;
char* ptr = arr;
while (n > 0)
{
int t = n%b;
n/=b;
arr[--digits] = numbers[t];
}
while ( *ptr == '\0') ptr++;
/* and use strcpy ... perhaps memcpy if non-string )*/
strcpy(str, ptr);
}
我需要更多的想法....
谢谢。
char str[32]; getBase(2, 2, str);
进行调用,但返回了无效的值,请问可以告诉我为什么吗? - Muhammad Hewedymemmove()
来修复它。 - Mysticiali
没有被使用,你可以将其删除。还有一件事,如果你使用指针而不是索引,就可以避免在结尾处使用while
(并且可能缩短代码)。 - Seth Carnegie