【问题标题】:Can't check return value of a function in C无法检查 C 中函数的返回值
【发布时间】:2015-06-21 06:34:39
【问题描述】:

所以我试图在 if 语句中检查我的函数返回值,以便我可以检查它是否工作正常。

我有:

    if (int r = (input(num_first, num_second, fixPTR)) =! -1)
    {
// do smth
    }

但 Visual Studio 说:表达式必须是可修改的左值

我该如何解决??

【问题讨论】:

  • 您不能在if 控制表达式中声明变量。
  • 在if之外声明r。
  • 检查您的基本 C 语法。 !-1 始终是 0 并且有效,但我怀疑这就是您要检查的内容。
  • 请不要在您的问题中添加 [已解决]。得到答复时有一个程序:What should I do when someone answers my question?.
  • @Quentin 在if 控制表达式中给我一个有效的声明,我告诉你你错了。

标签: c function


【解决方案1】:

你需要在你的代码之前声明你的变量。

顺便说一下,== 的反义词是 != 而不是 =!。

int r;

if ((r = input(num_first, num_second, fixPTR)) != -1)
{
// do smth
}

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2011-10-02
    相关资源
    最近更新 更多