2
好日子大家,爲什麼我的代碼只能正常工作一次?
我不得不做出這樣的假設是做如下的程序:
1)要求用戶輸入一個字符串。
2)要求用戶輸入一個整數(我們稱之爲'n')。
3)將字符串中的每個字符替換爲字母前面的字符'n'。
4)將新字符串打印到控制檯。
例如: 如果string = abc AND integer = 1,結果將是bcd。
如果string = Hello和integer = 4,結果將是Lipps。
if string = Welcome-2-C++ AND integer = 13結果將是Jrypbzr-2-P ++(特殊字符,如$,+,/保持不變)。
我已經寫了一些代碼,正常工作:
(code removed)
除了它只能一次。這就是控制檯的樣子:
Please insert a string to convert:
abc
Please enter the modification integer:
2
The resulting string is: cde
Please insert a string to convert:
abc
Please enter the modification integer:
2
The resulting string is:
Please insert a string to convert:
正如你所看到的,第二次程序運行時,沒有結果。
爲什麼我的程序在第一次運行時才能正常工作?
P.S.我已經做了一些我自己的調試,看起來程序運行第二次跳過了「for循環」。 (?)
編輯:我認爲這可能與內存分配有關?