在C语言中,是否可以同时输入某种类型的变量并将其与另一个变量进行比较?

在C语言中,是否可以同时输入某种类型的变量并将其与另一个变量进行比较?,c,string,if-statement,scanf,strcmp,C,String,If Statement,Scanf,Strcmp,我想知道是否有一种方法可以扫描一个变量,然后在同一行(同一时间)比较所有变量 到目前为止,我试过: if(strcmp((scanf("create.%s",comp)),comp)==0) //Please do not mind any missed parentheses or something like that... 我知道^这不起作用,因为我试过了,结果却出错了 那么,如何才能完成这一任务呢?还是不可能 因为scanf返回的是长度,而不是字符指针,所以它不起作用

我想知道是否有一种方法可以扫描一个变量,然后在同一行(同一时间)比较所有变量

到目前为止,我试过:

if(strcmp((scanf("create.%s",comp)),comp)==0)          //Please do not mind any missed parentheses or something like that...
我知道^这不起作用,因为我试过了,结果却出错了

那么,如何才能完成这一任务呢?还是不可能

  • 因为scanf返回的是长度,而不是字符指针,所以它不起作用
  • 事实上,您在同一行中编写它与执行时间无关,您不妨将它分为两部分
  • 如果你真的想这么做(我看没有理由这么做),你可以做以下事情:

    char *superScanfWithString(const char *format, char * str) {
        scanf(format,str);
        return str;
    }
    ...
    if(strcmp((superScanfWithString("create.%s",comp)),comp)==0) 
    

  • @JonathanLeffler-此代码甚至不应该存在。尝试在不检查返回值的情况下直接传递返回值是不好的。对于第2点,从+1开始。它不会节省代码空间,也没有理由节省垂直屏幕空间。