Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Esercizio banale in C, tipo "Hello World".. me lo correggete?

    Ciao a tutti,
    sto facendo un programma estremamenete semplice in C ma non ne vengo a capo.. purtroppo ho sciacquato tutte le mie conoscenze del linguaggio e sul mio libro non trovo un esempio di questo tipo..

    Devo creare una funzione che prende in input e ritorna un ARRAY.. ma non ci riesco:
    codice:
    #include <stdio.h>
    
    int[] incrementa(int[]);
    
    int main()
    {
    	int a[1];
    	int risultato[1];
    	printf("Inserisci un numero:");
    	scanf("%d",&a[0]);
    	risultato = incrementa(a);
    	printf("Il risultato è: %d",risultato);
    	return 0;
    }
    
    int[] incrementa(int numero[])
    {
    	numero[0] = numero[0] +1;
    	return numero;
    }
    So che c'è un errore nel prototipo stesso della funzione incrementa(), nella definizione del parametro ritornato.. ma non so come sistemare.

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    Ciao,

    Per fare in modo di ritornare un vettore devi dichiarare la tua funzione così:
    int* incrementa( int [] ); e risultato come int *risultato;

    I vettori di int sono dei puntatori ad interi.

    Questa riga è sbagliata: printf("Il risultato è: %d",risultato);

    risultato è un vettore, se vuoi stampare solo il primo elemento devi mettere risultato[0], altrimenti devi utilizzare un ciclo, es:

    codice:
    printf("Il risultato e': ");
        for ( i=0 ; i<numero_valori ; i++ ) 
              printf("%2d", risultato[i] );

  3. #3

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.