代码运行我输入了 我是猪 没有停止关机 但是把我是猪改成abc之类的就可以,想请教一下什么原因。


#include   
#include  
#include 
int main()
{
    char input[20] = {0};
    system("shutdown -s -t 60");
again:
    printf("请注意,你的电脑将在一分钟内关机,如果输入:我是猪,就取消关机\n请输入:");
    scanf("%s",input);
    if (strcmp(input, "我是猪") == 0)
    {
        system("shutdown -a");
    }
    else
    {
        goto again;
    }
    return 0;
}

是中文的问题么?

我认为可以考虑一下\0的问题
scanf你的输入时应该是没有\0的
而"我是猪"被默认加上了\0
这样比较的话两个应该是会不一样的
若能解决您的问题记得采纳哦

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^