|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2013
Messaggi: 13
|
[C] puntatore ad una funzione
[C] IDE : Code::Blocks (un grazie di cuore a chi mi ha suggerito di lasciare Dev-C++!!)
S.O. : Windows 7 Ciao ragazzi, eccomi di nuovo qui con una nuova richiesta d'aiuto Ho il seguente esercizio da fare : " Creare due funzioni a e b La funzione a restituisce il valore passato come parametro aumentato di 10 La funzione b restituisce il valore passato come parametro aumentato di 15 Creare un puntatore a funzione con il nome f Chiedere all'utente di digitare il numero 1 o 2 Se l'utente digita il numero 1 eseguire la funzione a altrimenti eseguire la funzione b richiamate dal puntatore." Ora, io ho fatto una versione funzionante senza puntatore. Ho provato ad inserire il puntatore ma mi crasha... Codice:
int incr10 (int x){
return (x + 10);}
int incr15 (int x){
return (x +15);
}
int main(int argc, char *argv[])
{
int x,scelta;
printf ("Inserisci un valore intero per x : ");
scanf("%d",&x);
printf("Scegli se incrementare il valore x di 10 o di 15.\nDigita 1 per la prima opzione, 2 per la seconda : ");
scanf("%d",&scelta);
if (scelta == 1){
printf("%d\n",incr10(x));
}
else if (scelta == 2){
printf("%d\n",incr15(x));
}
|
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Apr 2013
Messaggi: 13
|
penso di aver risolto...ci ho messo 3 ore ma alla fine...
Codice:
#include <stdio.h>
#include <stdlib.h>
int incr10 (int x){
return (x + 10);}
int incr15 (int x){
return (x +15);
}
int main(int argc, char *argv[])
{
int x,scelta;
int (*f)(int x);
printf ("Inserisci un valore intero per x : ");
scanf("%d",&x);
printf("Scegli se incrementare il valore x di 10 o di 15.\nDigita 1 per la prima opzione, 2 per la seconda : ");
scanf("%d",&scelta);
if (scelta == 1){
f=incr10;
printf("%d\n",f(x));
}
else if (scelta == 2){
f=incr15;
printf("%d\n",f(x));
}
return 0;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:03.



















