char name[4][20];
int count=0;
cout<<"Enter 4 name at most , one name per line:\n";
while(cin.getline(name[count++],20))
;
--count;
(остальная часть кода для печати, если и нужно, чтобы увидеть, что тоже находится в конце)массив становится больше, чем это должно
когда я Введите имена более 4 он все еще печатает эти имена, но как может что происходит? , потому что первое измерение 4 так как она может получить больше, чем четыре
printing part of code:
for(int i=0; i<count; i++)
{
cout<<i<<"="<<name[i]<<endl;
}
system("pause");
}
Вы должны сказать ему, чтобы остановить после 4. 'while' команда не имеет понятия, как большой массив. – Galik
, но первое измерение - 4 , поэтому, когда оно получает больше 4, программа должна дать ошибку или что-то , дополнительные имена должны идти в NAME (массив) в любом случае, но как это может произойти, когда первое измерение равно 4 – user3783574
Доступ к внешним границы массива - неопределенное поведение. Это может привести к сбою, возможно, это не приведет к выдуванию пузырьков из ваших динамиков. Это зависит от вас, чтобы придерживаться границ. –