Я сделал довольно короткий текст на основе программы анимации:Случайные символов Начала печататься без инициализации
#include <iostream>
void animation(char words[], int sizeOfWords) {
for(int x = 0; x < sizeOfWords; x++){
for(double y = 0; y < 10000000; y++);
std::cout << words[x];
if(words[x] == '!') std::cout << std::endl;
}
}
int main() {
char words[] = {'H','e','l','l','o',' ','W','o','r','l','d','!','T','h','i','s',' ','i','s',' ','m','y',' ','f','i','r','s','t',' ','C','+','+',' ','a','n','i','m','a','t','i','o','n','!','H','o','p','e',' ','y','o','u',' ','e','n','j','o','y','e','d','!'};
int amountOfLetters = 0;
for(unsigned x : words) amountOfLetters++;
animation(words, amountOfLetters);
}
Когда я впервые сделал программу, которую я забыл инициализировать INT amountOfLetters; до 0. То есть, когда я получил все эти случайные символы. Программа выполнена с инициализацией или без нее. Просто не назначая 0, я получаю эти дополнительные функции в конце.
Без инициализации переменной даст следующий результат:
Hello World! Это моя первая анимация на C++! Надеюсь, вам понравилось! ! t ht ÉH P j T j Ðou2ö¤. ■ Á╬ouÈ╬ouht mzou Возвращенный процесс 0 (0x0) время выполнения: 11.466 s Нажмите любую клавишу, чтобы продолжить.
С инициализацию переменной даст следующий результат:
Hello World! Это моя первая анимация на C++! Надеюсь, вам понравилось! Возвращенный процесс 0 (0x0) время выполнения: 4.444 s Нажмите любую клавишу, чтобы продолжить.
Вы можете попробовать запустить коды самостоятельно, если хотите. Я просто хотел бы знать, почему печатаются эти символы. Если вы можете помочь, я буду благодарен. Если не спасибо за то, что остановились.
Это сообщение не является дубликатом Почему неинициализированный массив символов заполнен случайными символами?. Я говорю о передаче количества элементов в массиве и передаче их в качестве аргумента, после чего их перебирает. Другой пост просто говорит об инициализации массива Без информации в нем и его печати. Между тем, опять же, я говорю о Имея информацию, только размер массива, на котором они были, был проблемой. Просто их речь идет о печати массива без элементов, моя - обход через массив с элементами, но ошибочно делая ошибку для размера.
Возможный дубликат [Почему неинициализированный массив символов заполнен случайными символами?] (Http://stackoverflow.com/questions/33924275/why-uninitialized-char-array-is-filled-with-random-symbols) – martijnn2008
Ох ... Я попробовал посмотреть, не смог найти. Даже когда я вошел в заголовок, он не показывал ничего подобного. В любом случае, я прочитаю его, спасибо. –
Я использовал Google, но не знаю, отвечает ли этот вопрос на ваш вопрос. – martijnn2008