2
我有一段加密在凯撒密码中的文本。字符串中的空格
使用fgets
我将所有文本存储在缓冲区中。直到这里数据是原来的形式,文本之间有空格。
现在,当我循环显示文本并移动字母时,我的输出中删除了所有空格,但没有更改任何文本。
这里是我的代码:
int main(){
char *buff;
FILE *filePtr = fopen("text.txt", "r");
fgets(buff, BUFF, filePtr);
decrypt(buff);
}
void decrypt(char *s){
int i, a, l;
a = 3;
l = strlen(s);
for (i = 0; i < l; i++){
if (!isalpha(s[i]))
continue;
printf("%c", s[i] - 3);
}
printf("\n");
}
现在,任何人都可以解释我为什么空间在我的输出到哪里去了?
在调试器中逐行执行程序。一旦你进入第一个空间,答案就会变得清晰。 –
'continue;' - >'{putchar(s [i]);继续; }' – BLUEPIXY
错误可能'printf(“%c”,s [i] - 3);' – BLUEPIXY