Aiuto funzioni e strutture in c

di il
1 risposte

Aiuto funzioni e strutture in c

#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

1 Risposte

  • Re: Aiuto funzioni e strutture in c

    Le copie delle stringhe in C non si fanno con = ma con la funzione strcpy (e simili). E il secondo parametri deve essere char *b
Devi accedere o registrarti per scrivere nel forum
1 risposte