If-else语句中的返回值-C ++

用户名

下面的代码打印:

5

为什么要打印5?另外,如果返回5,为什么不打印“ James”?我不明白以下代码。如果我删除else单词,它将显示-1。但是,它不应该返回默认值吗?

#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int fonk()
{
    int a = 5, b = 3;
    int c = a*b;
    if(c >10)
    {
        if( a<b && a >0)
        {   cout <<"James";
        return a;
        }

        else if(b<0)
        {
            return b;
        }

    }
    else return -1;

}

int main()
{
    int x = fonk();
    cout << x;
}
炸鱼

您正在遇到未定义的行为您的功能实际上return什么都没有查看每个条件:

  • c>10是。
  • a<b && a >0没有。
  • b<0没有。

因此,您永远不会碰到任何一个return这意味着您的程序中绝对可能发生任何事情。在您的情况下,似乎恰好发生5在程序return期望值存储的位置

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

If-else语句中的返回值-C ++

来自分类Dev

如何在C ++的if语句中检查lambda的返回值?

来自分类Dev

C#使用IF / ELSE语句中的方法返回的值

来自分类Dev

使用 if/else 语句时无法获取返回值的方法 - C#

来自分类Dev

基于if语句的linq列表中的C#返回值

来自分类Dev

If else 语句中的多个条件 c 程序

来自分类Dev

C ++ RapidJSON返回值

来自分类Dev

C ++中的返回值

来自分类Dev

当未指定return语句时,为什么C ++没有默认构造返回值?

来自分类Dev

想要在C#中存储sql select语句的返回值

来自分类Dev

C++ | 如何在不每次都返回值的情况下循环 if 语句

来自分类Dev

在else语句中返回

来自分类Dev

如何设置列以在select语句中返回值

来自分类Dev

IF语句中函数的返回值显示异常行为

来自分类Dev

SQL Server存储过程在选择语句中返回值

来自分类Dev

选择子句中返回值大于1的语句

来自分类Dev

Java返回值在if语句中不起作用

来自分类Dev

嵌套在循环中的 if 语句中的 OCaml 返回值

来自分类Dev

如何在if语句中调用函数并保存返回值

来自分类Dev

获取C XOR返回值

来自分类Dev

C ++引用和返回值

来自分类Dev

C#BHO从Javascript返回值

来自分类Dev

从C ++ 11中的线程返回值

来自分类Dev

了解C#中的返回值

来自分类Dev

在C ++中通过引用返回值

来自分类Dev

C ++返回值,引用,常量引用

来自分类Dev

C printf()不返回值

来自分类Dev

如何从C宏返回值?

来自分类Dev

C ++函数未返回值