0
我想寫一個簡單的加密程序(凱撒密碼),我遇到了一個障礙。對於來自Java最初的C和指針的世界,我相對陌生。操作主陣列
每當我運行下面的代碼,它會給我錯誤信息分段錯誤並終止。
我已經對這個意思做了一些解讀,但我仍然不完全理解它,或者我的代碼有什麼問題,或者如何解決這個問題。
如果你可以幫助任何那些將不勝感激。用C
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void encrypt(char *input);
int main()
{
char *instructions = "pipi";
encrypt(instructions);
printf("Here are your secret instructions:\n%s\n", instructions);
return (0);
}
void encrypt(char *input) {
while (*input != '\0') {
if (isalpha(*input)) {
*input += 1;
if (!isalpha(*input)) {
*input -= 26;
}
}
input++;
}
}
現在打開你的編譯器警告,想想爲什麼字符串常量被稱爲字符串常量*** *** –
我要投票關閉這個問題作爲題外話,因爲它通過R'ing FM輕易地回答。 –
R'ing FM?什麼? –