0
Как вернуть массив в C?Как вернуть массив в c?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int func(int);
printf("%d",func(1));
}
int func(int n)
{
int i,arr[5]; //or int *arr=(int*)malloc(5);
for (i=0; i<5; i++) {
arr[i]=n++;
}
return arr;
}
Я хочу получить результат '11111', но этот код является '1606416336'.
Что делать, чтобы решить эту проблему?
Вы не можете вернуть локальный массив в C. Вам нужно динамически выделять его с помощью 'malloc()'. – Barmar
http://www.tutorialspoint.com/cprogramming/c_return_arrays_from_function.htm –
https://www.eskimo.com/~scs/cclass/int/sx5.html –