EDITED
It was pointed to me earlier that the solution for the 3.2.2 puzzle might be compiler-dependent. In order to eliminate any possible discussion on the subject, I'll modify the idea and improve it on a next puzzle when I'll take extra care not to generate controversy.
However, in order to keep this puzzle going, I'll make a small modification for 3.2.2 (the solution will be easier but cleaner).
When I first saw the puzzle I found it pretty awesome. I did manage to solve it but not immediately since it requires some careful attention.
If you are here it means you too solved it. If you did so by writing a program to replace all possible characters with all possible values and test every solution, you are lost. Hard working guy though.
Now having corrected the program that writes 20 "+" signs:
3.2.1: Insert one single letter and nothing more in the code so that the result is valid and outputs the same thing in all 3 corrected programs. Needless to say, the letter must be before the enclosing } of main (I say that because I don't want to hear people who just put a letter after the program and somehow their compiler was very friendly).
3
EDITED (see bellow) - For these final questions consider that the counter i starts from -1 instead of 0.
3.2.1.5: Repeat all previous problems with the condition that the output is at least 19 "+" signs (but still a finite output). Changing spaces is allowed. Now you might have found more solutions than in the first case. Some of these will most definitely fit for the 3.2.2 question.
3.2.2: Choose another value to initialize the variable n so that the resulting output will remain the same for at least one of the 3 corrected programs in 3.2.1.5(not necessarily for all of them).
LAST EDIT1: changing the program so that it outputs 21 "+" signs is still a good solution, as the original text did not say "exactly" 20 signs. However, the infinite output is forbidden. Obviously this doesn't mean let's all start outputting hundreds of "+"signs since it's not forbidden. But eliminating a beautiful 21 output would not be in the spirit of this competition.
LAST EDIT2: considering LAST EDIT1 and accepting space changing it seems that now we have 5 possible solutions, four of which have already been pointed out in the responses. The last challenge however hasn't been touched and I must make it clear once more: n must be assigned another value, solutions that assign 20 to n by some tricks won't do it (like n=20L). Also I prefer to see the 3rd solution that does not change spaces.
LAST EDIT3: I've edited the last questions, please read!
I hope it's all clear, if not please post any questions and I'll edit as quickly as possible. Cheers.
emphasized text