Cześć, napisałem prostą funkcję, która zmienia liczbę czterocyfrową na tablicę jej cyfr:
#include<iostream>
using namespace std;
short* numToArr(short x)
{
short num[4];
for (int i = 0; i < 4; ++i)
{
num[3 - i] = x % 10;
x /= 10;
}
return num;
}
int main() {
short* f = numToArr(1232);
cout << f[0] << f[1] << f[2] << f[3] << endl;
for (int q = 0; q < 4; ++q)
cout << f[q];
return 0;
}
Po skompilowaniu w pierwszej linijce wyjścia znajduje się poprawny wynik, tj. 1232
, a w drugiej 31023239-1184239
. Nie jestem w stanie poprawnie wypisać zawartości tablicy w pętli. Czym to jest spowodowane?