C'erano errori nel for e nella scanf. Le istruzioni commentate sono i tuoi errori. Ho aggiunto la funzione "clean". Dai un'occhiata qui sul forum, ci sono molte discussioni su un particolare problema che si presenta ai neofiti del linguaggio.
Ho sostituito la system("pause") perchè è decisamente da evitare (ma sono dettagli poco importanti ora):
codice:
#include <stdio.h>
int pot(int, int);
void clean();
void pause();
void pause()
{
char c;
printf("Premi un tasto per continuare...");
c = getchar();
if(c != '\n')
clean();
}
void clean()
{
char c;
while( (c = getchar() ) != '\n');
}
int main()
{
int num, esp;
printf("Inserisci un numero: ");
//scanf("%d", num);
scanf("%d", &num);
clean();
printf("Inserisci la potenza: ");
//scanf("%d", esp);
scanf("%d", &esp);
clean();
if(esp<=0)
printf("Errore! il numero deve essere positivo!");
else
printf("Il risultato è %d \n", pot(num, esp));
pause();
return 0;
}
int pot(int num, int esp)
{
int i;
int n;
n=num;
//for(i=1,i<esp,i++)
for(i=1;i<esp;i++)
{
num=num*n;
}
return num;
}