Povedzme, že mám na vstupe číslice 78921321, zapísané do stringu. Potom mám funkciu otocPole, ktorá poradie týchto čísel otočí a zmení na inty:
Kód: Vybrať všetko
int *otocPole(char a[]){
int *pole, i, j;
int len = strlen(a);
pole = (int*) malloc(len);
for(i=0, j=strlen(a)-1; i<strlen(a); i++, j--){
pole[i] = a[j] - 48;
<kontrolný výpis pre pole[i]>
}
return pole;
}Kód: Vybrať všetko
int *i_a
...
i_a = otocPole(a);Pokiaľ spustím ten kontrolný výpis vo for cykle, tak to sedí a čísla naozaj vypíše tak, ako chcem.
Akonáhle ale vrátim hotové pole, a vypíšem ho napríklad v maine, tak mi vypíše: 123129330
Skrátka, pole[6] by malo byť 8, a z nejakého dôvodu je to 33, a pole[7] by malo byť 7, ale z nejakého dôvodu je to 0.
Pokiaľ manuálne vypíšem pole[6] alebo pole[7] ešte vo funkcii, vypíšu sa správne, ale akonáhle ich vypisujem po vynesení, vypisuje 33 a 0. Vie mi niekto pomôcť? Ďakujem.