Clion-Function 未返回正确的值

问题描述 投票:0回答:1

我是 C 语言的初学者,决定使用 Clion 作为 IDE。这并没有以一种好的方式结束,因为当我尝试我的第一个代码时,它没有返回它应该返回的内容,或者也许有一个我无法弄清楚的错误?

这是代码:


int main() {
    int x = 0;
    for(int i=0;i<=100;i++)
        x += i;
    return x;
}

我也使用 C++17,而不是 5050,它返回 186。我尝试将返回值更改为零并打印 x,由于某种原因,它成功打印了 5050。有人可以解释一下我缺少什么吗?

c++17 clion
1个回答
0
投票

您在哪里查看/使用/打印您的返回值?

通常,C++ 中的

main()
方法与“普通”用户定义函数不同。它在启动时被调用,并作为程序的入口点。通常,您会在
main()
方法中调用其他函数。如果您的
main()
方法返回
0
则意味着它执行成功,任何其他值意味着执行过程中出现了一些错误。如果没有 return 语句并且执行到方法末尾,它会隐式返回
0
,表示执行成功。

我不知道为什么返回值是186而不是5050(你在哪里看到这个值?),但你的计算是正确的。如果您使用此代码编写

main()
以外的方法,它将返回正确的值:

#include <iostream>

int calculate(int value) {
    int x = 0;
    for (int i = 0; i <= value; i++) {
        x += i;
    }
    return x;
}

int main() {
    int result = calculate(100); // result will be 5050
    std::cout << "Result: " << result << std::endl;
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.