Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    19

    [C] Non capisco cosa fa il programma

    Chiedo cortesemente un favore, sto cercando di imparare a programmare, ma mi hanno dato da capire un programma su cui mi sono scervellato senza risultato.

    Per favore qualcuno mi può dire perchè dovrebbe dare quei valori d'uscita presenti nei commenti?
    Inoltre a me una volta compilato e eseguito da questo risultato leggermente diverso:

    -2
    -4
    cont=0
    -2-4-6-8

    #include<stdio.h>

    void som(int*V1,int*V2){
    int i;
    for(i=0;i<4;i++){
    V1[i]+=V2[i];
    V2[i]=V2[i]-V1[i];}
    }

    void stampa(int*vet,int k)
    {
    int i;
    for(i=0;i<4;i++)
    if(vet[i]<0){
    printf("%d\n",vet[i]); /*valori di uscita -2,-4*/
    k++;}
    }
    main(){
    int F[4]= {2,4,6,8},D[4]={3,-6,9,-12},cont=0,i;
    som(F,D);
    stampa(F,cont);
    printf("cont=%d\n",cont); /*valore d'uscita = 0*/
    for(i=0;i<4;i++)printf("%d",D[i]);} /*valori d'uscita -2 -4,6,-8*/

    Grazie a tutti


  2. #2
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Dalla funzione som esce questo

    V1[0]=5
    V2[0]=-2

    V1[1]=-2
    V2[1]=-4

    V1[2]=15
    V2[2]=-6

    V1[3]=-4
    V2[3]=-8

    quando chiami stampa verifica che i valori siano minori di zero e stampa solo quelli quindi -2,-4 mentre 5 e 15 li tralascia

    infine stampa il vettore v2 per intero quindi stamapa i valori -2,-4,-6,-8

    cont vale zero perchè è una variabile locale di main e non viene modificata dalla funzione perchè in realtà alla funzione viene passato solo il valore di cont e ne viene effettuata una copia. Se fosse stata passata così &cont sarebbe stata modificata perchè le veniva inviato l'indirizzo di memoria e quindi la funzione avrebbe avuto accesso alla variabile
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    19
    Grazie
    Molto gentile
    Mi hai fatto un enorme favore
    A buon rendere

  4. #4
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    di niente e impegnati perchè ne vale la pena di imparare il c

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.