Моего кода в основном это список ASCII кодовых строк, которая вводится, мой следующий код прост, здесь:C++: Печать/назначая простые отпечатки массива тарабарщины
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char str[20];
int result[20];
cin >> str;
for(int i = 0; i != strlen(str); i++) {
result[i] = (int)i;
}
for(int i = 0; i != 20; i++)
cout << result[i] << ", ";
}
, когда я запустить его, независимо от того, что вход выводит кучу бреда, как неопределенную память так:
0, 1, 2, 3, 4, 5, 1, -1217349408, -1220040795, -1220041307, -1076427112, 134514781, -1218903292, 134519344, -1076427096, 134514004, -1217411568, 134519344, -1076427048, 134514681,
я упускаю что-то простое в том, как я добавляю каждое целое число в массив?
Просто обратите внимание, что это простой пример, мой ввод не должен превышать 20 символов.
EDIT опечатка в моем результате .. CIN >> результат CIN >> ул
Массивы с фиксированным размером? Мои глаза болят! Используйте 'std :: string' в C++. – fredoverflow
Не используйте strlen в состоянии выхода из цикла - v неэффективно, чтобы сделать этот вызов для каждого цикла. Храните strlen как локальный первый, так как строка инвариантна внутри цикла. –