Cosa hai usato per compilare ... ?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Beh, io ho una serie di messaggi dal compilatore sul tuo codice ... sei sicuro di non avere nulla?
No MP tecnici (non rispondo nemmeno!), usa il forum.
così è corretto.
codice:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> float integerpower(float base, int exp) { int i; float result=1; for(i=0; i<exp; i++) result = result * base; return result; } main(){ float base, result; int exponent; printf("inserisci il numero:\n"); scanf("%f", &base); printf("\ninserisci l'esponente:\n"); scanf("%i", &exponent); result = integerpower(base, exponent); printf("\n questo è il risultato dell'operazione: %f \n\n", result); system("pause"); exit(1); }
In realtà quel codice non è corretto ... in particolare un programma non deve terminare con la exit, semmai con un return (per cui è bene indicare che il main restituisce un int).
La system è meglio sostituirla con una semplice getchar e la prima define non serve.
E direi anche che sarebbe meglio utilizzare i double al posto dei float.codice:#include <stdio.h> float integerpower(float base, int exp) { int i; float result=1; for(i=0; i<exp; i++) result = result * base; return result; } int main() { float base, result; int exponent; printf("inserisci il numero:\n"); scanf("%f", &base); printf("\ninserisci l'esponente:\n"); scanf("%i", &exponent); result = integerpower(base, exponent); printf("\n questo è il risultato dell'operazione: %f \n\n", result); getchar(); return 0; }
No MP tecnici (non rispondo nemmeno!), usa il forum.
Grazie a entrambi oregon e myricio, pero, potreste spiegarmi a cosa serve il getchar alla fine?
Se non sbaglio il getchar ti permette che il programma non si chiuda subito, ovvero devi premere un tasto per andare alla prossima istruzione "return 0;" quindi hai una specie di pausa prima della fine del programma una pausa che dipende dall'utente
ok chiaro grz
ehm, tecnicamente quello che dice diego è il system che ho scritto io.
getchar come si può intuire aspetta un comando dallo standard input e ritorna quello. quindi se ad esempio scrivi getchar() e premi "g" la funzione ritornerà g. ma finchè non lo premi avrai la console davanti che attende qualcosa quindi ti permette di vedere tutto ciò che hai mandato su standard output prima.