Codice:
[FONT=Open sans]#include <stdio.h>[/FONT]
[FONT=Open sans]#include <string.h>[/FONT]
[FONT=Open sans]char tenta[3];[/FONT]
[FONT=Open sans]char uj[3];[/FONT]
[FONT=Open sans]
[/FONT]
[FONT=Open sans]void confronto (char *s,char *f,int v,int *n,int z){[/FONT]
[FONT=Open sans] v=3;[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans] char *esatto="gas";[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans] if((strcmp(s,esatto))==0){[/FONT]
[FONT=Open sans] strcpy(f,esatto);[/FONT]
[FONT=Open sans] n=&v;[/FONT]
[FONT=Open sans] z=*n;[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans] }[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans]}[/FONT]
[FONT=Open sans]
[/FONT]
[FONT=Open sans]int main(){[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans] int *h;[/FONT]
[FONT=Open sans] int j;[/FONT]
[FONT=Open sans] int z;[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans] scanf("%s",tenta);[/FONT]
[FONT=Open sans] confronto(tenta,uj,j,h,z);[/FONT]
[FONT=Open sans] [/FONT]
[FONT=Open sans] printf("HIHII %s %d",uj,z);[/FONT]
[FONT=Open sans]// if(h=1){[/FONT]
[FONT=Open sans]// printf("gas %s",&uj);[/FONT]
[FONT=Open sans]// }else{[/FONT]
[FONT=Open sans]// printf("lol");[/FONT]
[FONT=Open sans]// }[/FONT]
[FONT=Open sans]}
Il codice funziona in parte,ovvero mi compara le stringhe e mi riporta il risultato esatto ma vorrei che nel printf mi stampasse anche quel benedetto z,ovvero 3 che ho definito nella funzione non mi stampa 3 ma numeri casuali o ovviamente l'indirizzo di memoria,ho provato di tutto ma non riesco a far stampare quel maledetto valore.
Grazie in anticipo[/FONT]
- - - Updated - - -
Per chi avesse il mio stesso problema ho risolto semplicemente mettendo un puntatore come ultimo parametro alla funzione (*z) e allungando le stringhe decisamente troppo corte.
PROBLEMA RISOLTO.