Vamos a ver , estás devolviendo un puntero , a una cadena de carácteres , si todavía no sabes que son los punteros pues como indica su nombre son apuntadores¿a qué? a direcciones de memoria, entonces char tx2[20] es un puntero que puede variar 20 posiciones, como se le ha indicado , pero claro tu estás asignando un puntero que se retorna de una función , a un array de carácteres.Y eso no es así , te dejo el código corregido:
Código (c) [Seleccionar]
#include <stdio.h>
char* func () {
char txt2[20];
printf("\nIntroduce word = ");
scanf("%s", &txt2);
return txt2;
}
int main () {
int len = 20;
char *str; //Puntero al inicio de la variable txt2 , o sea a txt2 [0]
str = func();
printf("\nResult = %s.", str);
return 0;
}ara que te quede bien sería:
Aunque ten cuidado con las empresas no te vayan a coger por piratilla
Una preguntilla , ¿porque no compilas las librerías Qt estáticamente y distribuyes el ejecutable ? Por ejemplo en lo del chat quería probarlo pero no me funcionaba porque me faltaba SMFL aunque no sé si se puede compilar estáticamente ésta última pero ya te digo que sería util para el que quiera verlo y nó instalar SMFL Qt u otras librerías.