PDA

View Full Version : [C] Puntatori in una funzione [Problema]


coogle
26-11-2014, 10:51
Premetto che sono alle prime armi e al primo esame.. non linciatemi

#include <stdio.h>
#include <string.h>
char tenta[3];
char uj[3];

void confronto (char *s,char *f,int v,int *n,int z){
v=3;

char *esatto="gas";

if((strcmp(s,esatto))==0){
strcpy(f,esatto);
n=&v;
z=*n;

}

}

int main(){

int *h;
int j;
int z;

scanf("%s",tenta);
confronto(tenta,uj,j,h,z);

printf("HIHII %s %d",uj,z);
// if(h=1){
// printf("gas %s",&uj);
// }else{
// printf("lol");
// }
}

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

litocat
26-11-2014, 12:34
Stampa un numero casuale perchè all'interno di main() z non è stata inizializzata. Se vuoi inizializzarla dentro a confronto() devi passarle un puntatore a z invece di z. Stessa cosa per j.