繁体   English   中英

C - 直接扫描到 function 参数?

[英]C - Scanf straight into an function argument?

所以,如果我有 function foo

float foo(float a, float b){
    return a*b;
}

我从另一个 function 调用它,我怎么能这样称呼它?

void main(){

    foo(scanf("%d"), scanf("%d");

}

scanf 不返回输入字符串,我不想创建一堆临时变量。 这可能吗,如果可以,怎么办?

您不能直接从 scanf 返回值。 但是您可以自己创建一个 function 从 scanf 返回一个值,但它仍然会在其中使用临时变量:

int getInteger() {
  int input;
  scanf("%d", &input);
  return input;
}

然后你可以像这样使用它: foo(getInteger(),getInteger());

但是,如果您真的不想使用变量,则可以使用 cs50 库中的get_int() 更多信息在这里

#include <cs50.h> // include cs50 to use get_int

int main(void)
{
  foo(get_int("Number 1: "),get_int("Number 2:"));
  return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM