1°: ao Inves de colocar contador = contador++, tente colocar apenas contador++ ou contador = contador +1.
2°: Tente colocar apenas o while ao inves do Do While, pq caso a potencia for igual à 1, o resultado vai sair num ao quadrado.
tente assim:
#include <stdio.h>
int main()
{
int potencia;
int contador = 0;
int num;
int total = 0;
printf("introduzca un número:\n");
scanf("%i",&num);
printf("introduzca potencia entera positiva:\n");
scanf("%i",&potencia);
if(potencia == contador){
printf("potencia 0 de %i es 1\n",num);
}
else
{
total=num;
for (contador=1;contador<potencia;contador++){
total = num;
total = total*total;
contador = contador++;
}
printf("potencia %i de %i es: %i \n",potencia,num,total);
}
return 0;
}