Zawiesza mi się potęgowanie

0

Witam,to mój pierwszy post. Nie jestem programistą ale studentem,robię proste programy w C na zajęcia. Mieliśmy zadanie,żeby wykonać program, który potęguje daną liczbę. Zrobiłem go,program działa,ale niestety nie u mnie. Wysłałem kod do znajomego,który uruchomił program w środowisku"MS Visual Studio" i wszystko jest okej,natomiast ja mam taki problem,że program jakby ciągle myślał. Niestety nie mam możliwości sprawdzenia środowiska MS VS ze względów sprzętowych,a w CodeBlocks bardzo dobrze mi się pisze i fajnie by było rozwiązać ten problem "loopa" podczas liczenia,załączam zdjęcie jak to wygląda.
Program jest wywoływany z pliku main.c

int potega(int n,int x)
{
int i,y;
        y=x;
        i=1;
  while(i<n){
        y=y*x;
        i=i++;
    }
    return y;
}

Tutaj plik main.c

#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int nwd(int a,int b);
int potega(int n,int x);
int wybor;
void main()


{
printf("Wybierz co chcesz obliczyc: \n");
printf("Najwiekszy wspolny dzielnik- 1 \n");
printf("Potegowanie -2 \n");
printf("Potegowanie szybkie- 3 \n ");
scanf("%d",&wybor);

switch(wybor){
case 1:
    {
    int a,b;
    printf("Podaj a \n");
    scanf("%d",&a);
    printf("Podaj b \n");
    scanf("%d",&b);
    printf("nwd=%d",nwd(a,b));
    break;
}
case 2:{
    int n,x,y;
    printf("Podaj n");
    scanf("%d",&n);
    printf("Podaj x");
    scanf("%d",&x);
    printf("Wynik:%d",potega(n,x));
break;
}

}
}

Forum1.png

7
        i=i++;

To jest UB w C (i C++, do C++17 bodajże). Użyj po prostu i++. I formatuj kod, to nie jest takie trudne: http://format.krzaq.cc/

I jeszcze jedno: Jak dobrze zatytułować wątek?

1 użytkowników online, w tym zalogowanych: 0, gości: 1