C で配列を返す方法を理解しようとしています。これがコードです。私がやろうとしているのは、配列を保存してから、関数 return を使用して出力することです。ここで何が間違っていますか?
#include <stdio.h>
#define DIM 50
char *func (char input[]);
int main(void)
{
char input[DIM];
printf("input? ");
fgets(input, DIM, stdin);
printf("output: %s", func(input));
return 0;
}
char *func(char input[])
{
int i;
char output[DIM];
for(i = 0; i < DIM; i++)
output[i] = input[i];
return &output;
}