Sposób traktowania tablic przez obiekt cin

Sposób traktowania tablic przez obiekt cin
L1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
0

Witam, mam pytanie odnośnie wczytywania informacji do tablic poprzez cin. Dlaczego kiedy zadeklaruje tablice char, zadziała kod:

Kopiuj
char name[5];
cin >> name;

a kiedy zadeklaruje tablice typu np. int, nie moge juz użyć takiego zapisu:

Kopiuj
int liczby[5];
cin >> liczby;

Bylbym wdzięczny jeśli ktoś mógłby mi to wytłumaczyc.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
0

Wskaźniki na char są traktowane wyjątkowo, bo stringi w C to po prostu wskaźniki na pierwszy znak.

Jak chcesz wczytać więcej liczb to użyj pętli lub, lepiej, algorytmów biblioteki standardowej:

Kopiuj
std::copy_n(std::istream_iterator<int>(std::cin), 5, std::begin(liczby));

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.