主函数中的 if 语句被忽略[重复]

2023-12-05

我目前正在用 C 编写代码,并且 main 函数中的 if 语句被忽略。如您所见,此代码接收一些字符串作为输入并应用凯撒密码。注意:在 main 中调用的函数加密也已定义,我只是不粘贴,因为我认为没有必要,因为问题是当我询问用户是否要加密或解密文本时,在 fgets if 后语句被完全忽略(写入“加密”后程序就会退出)。 代码如下:

int main()
{
    char text[SIZE], choice[SIZE];
    printf("\nWelcome to Caesar's Cipher.\nDo you wish to encrypt or decrypt text?\n");
    fgets(choice, SIZE, stdin);
    if (strcmp(choice, "encrypt") == 0)
    { 
        printf("Insert text to encrypt:\n");
        fgets(text, SIZE, stdin);
        ciphering(text);
        printf("\nThis is your text encrypted with Caesar's Cipher:\n%s\n", text);
    }
    return 0;
}

该字符串fgetsgets 有一个尾随\n到底。您需要手动删除它,或者将其与"encrypt\n"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

主函数中的 if 语句被忽略[重复] 的相关文章

随机推荐