我是 C 编程的新手。我正在尝试制作一个需要一些简单输入的程序。但是,我发现在将我的输入字符串与用户“打算”输入的内容进行比较时,最后还有一个额外的字符。我认为这可能是 '\0' 或 '\r' 但似乎并非如此。这是我的代码片段:
char* getUserInput(char* command, char $MYPATH[])
{
printf("myshell$ ");
fgets(command, 200, stdin);
printf("%u\n", (unsigned)strlen(command));
if ((command[(unsigned)strlen(command) - 1] == '\0') || (command[(unsigned)strlen(command) - 1] == '\r'))
{
printf("bye\n");
}
return command;
}
代码显示输入时,说“退出”即输入了 5 个字符。但是我似乎无法弄清楚最后一个的身份。“再见”从不打印。有谁知道这个神秘人物可能是什么?