#include <stdio.h>
#include <stdlib.h>
typedef struct {
char testo[20];
int numero;
}tipo;
tipo funzione(int a,char b[20]){
tipo x;
x.numero=a;
x.testo=b;
return x;
}
int main(int argc, char *argv[]){
tipo c=funzione(4,"Ciao");
printf("%s,%d",c.testo,c.numero);
system("PAUSE");
}
Vorrei scrivere un programma che acquisisca un intero e una stringa e li restituisca sotto forma di un dato da me definito attraverso una struct, il tutto sfruttando una funzione. Successivamente si dovrebbe stampare il contenuto.
il problema è che, al momento della compilazione, l'assegnazione x.testo=b risulta errata, il messaggio è
[Error] incompatible types in assignment of 'char*' to 'char [20]'
inoltre alla riga
tipo c=funzione(4,"Ciao");
mi da il messaggio:
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
Cosa ho sbagliato?
Grazie