putchar(ch)。这么智能吗?按照拼音给我翻译出来了


#include 
#define SPACE ' '

int main(void) 
{
    char ch;
    printf("请输入一行文字:> ");
    ch = getchar();
    while (ch != '\n')
    {
        if (ch == SPACE)
        {
            putchar(ch);
        }
        else {
        putchar(ch + 1);
        }
        ch = getchar();
    }
    putchar(ch);
    
    
    return 0;
}


我用xcode运行程序,输入诡异两个汉字。输出:hvjzj
这么智能吗?按照拼音给我翻译出来了

方案来自 梦想橡皮擦 狂飙组基于 GPT 编写的 “程秘”


这个程序是使用了字符编码,将输入的字符编码加 1。在这种情况下,输入的两个汉字的编码已经被更改,因此在输出时显示的是编码后的字符。

字符编码是指将字符映射到数字上的过程,以便在计算机中存储和处理。常见的字符编码方案包括 ASCII,Unicode 和 UTF-8。

如果您希望解码更改后的字符,您可以使用相应的解码表或工具,并将字符编码还原为原始字符。