該程序應該輸出VYGHBUTMDE
,但它會在最後附加一些垃圾字符。爲什麼是這樣?字符數組打印額外的垃圾內存
#include <stdio.h>
#include <string.h>
int
encrpypt(char ciphertext_buffer[], char plaintext[], char key[]) {
int i;
for (i=0; i<strlen(plaintext); i++) {
ciphertext_buffer[i] = (char) ((((int)plaintext[i] - 65 + (int)key[i%(strlen(key))] - 65) % 26) + 65);
}
return 0;
}
int
main() {
char ciphertext_buffer[10];
encrpypt(ciphertext_buffer, "THISISCOOL", "CRYPT");
printf("%s\n", ciphertext_buffer);
return 0;
}
謝謝:)已經有一段時間,因爲我已經使用C – 2013-02-14 03:31:03
不用擔心,朋友編程!我希望解釋是足夠的。 – RustyBuckets 2013-02-14 03:31:45