kiqu333 2022-10-17 23:16 采纳率: 100%
浏览 11
已结题

有关函数内部定义if语句遇到的的问题。

问题遇到的现象和发生背景

img

用代码块功能插入代码,请勿粘贴截图
#include <iostream>
using namespace std;
int Max1(int i, int j)
{
    if (i < j)
    {
        return  j;
    }
    else if (i = j)
    {
        return i;
    }
    else
    {
        return i;        
    }
}

void main()
{
    int i =7 ;
    int j = 5;
    cout << Max1(i, j) << "\n" << (i < j);
}

运行结果及报错内容

5
0
D:\visualc\Project1\x64\Debug\Project1.exe (进程 17736)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

我的解答思路和尝试过的方法

为什么这个函数输出的是5啊?但是我要是把(i=j)改成(i>j)就能正常运行了。

我想要达到的结果

有没有好兄弟能伴我解答一下。

  • 写回答

1条回答 默认 最新

  • 四海一叶秋 2022-10-17 23:24
    关注

    第9行i==j

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月17日