Почему я получаю -9.255 включен в вывод?

0

Я пытаюсь распечатать 2 сотрудников, один из которых содержит многомерный массив.

    struct Employees{
    string name;
    double salary;
    char skill[5][20];
 };
void main(){
Employees Namn[3] = {
    { "Dawn", 120000, { "C#", "C++" } },
    { "John", 13456, { "Java", "C++" } }
};
for (int i = 0; i < 3; i++){

    cout << Namn[i].name << "\t";
    cout << Namn[i].salary;
    cout << "\t";
    for (int j = 0; j < 5; j++){
        for (int k = 0; k < 20; k++){
            cout << Namn[i].skill[j][k];
            }
        }
        cout << endl;
    }
}
  • 2
    I am trying to print out the 2 employees и все же вы печатаете 3 Employees в своем коде.
  • 0
    Почему вы выделяете место для 3 сотрудников, но предоставляете данные только для 2? Повысьте уровень предупреждений до максимума на вашем компиляторе / IDE. Вы должны были получить предупреждение по этой проблеме.
Показать ещё 14 комментариев
Теги:
arrays
multidimensional-array
structure

1 ответ

-1

Выход -9.255 вызван значениями по умолчанию. Мне просто нужно добавить {"0", 0.0, {"0", "0"}}. Спасибо за помощь ребята.

  • 1
    В режиме отладки память обычно заполняется шестнадцатеричным cccccccccccccccc и шестнадцатеричным cccccccccccccccc, когда интерпретируется как double: -9.2559631349317831 x 10 ^ 061
  • 1
    Когда вы инициализируете структуру с помощью { } , любые незарегистрированные члены должны быть инициализированы значением (что означает инициализацию в 0.0 для двойного); так что, если это действительно ответ, то ваш компилятор сильно сломан
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню