When I get string input by using char arrays and I cycle through them with a for loop, my code always has random character outputs that should not be there.
I have tried debugging my code, by checking the output at various stages, but I can't find the reason for what is happening.
    int k, s, counter = 0;
    char word[21];
    std::cin>>k;
    std::cin.getline(word,21);
    for (int i = 0; word[i] != ' '; i++)
    {
        s = 3*(i + 1) + k;
        std::cout<<s;
        for (int k = 0; k < s; k++)
        {
            word[i]--;
            if (word[i] < 'A')
               word[i] = 'Z';
        }
    std::cout<<word[i];
    }
When I type in 3 to get the value of k, I already get the output "URORIFCFWOQNJCEBFVSPMJNKD" when I should not get any output.
 
     
    