不同的输出而不是预期的输出

Different output rather than expected one

本文关键字:输出      更新时间:2023-10-16

你好,我是一名高中生。最近我开始用 c++ 做一些编程。但是我坚持下面的例子。如果你们能帮助我,我将不胜感激。

#include<iostream>
using namespace std;
int main()
{
int j;
    for(int i=0;i<10;i++)
    {
        i=j;
    }
    cout<<j;

}

为什么输出:2686864

相反,我认为它应该是0123456789的,因为循环从 0 开始。感谢您的任何建议。.

你想做的可能是这个:

int main()
{
    int j;
    for(int i=0;i<10;i++)
    {
        j=i;
        cout<<j;
    }

}

当然,这里根本不需要变量 j;你可以简单地输出 i

您尚未在声明中为 j 分配值。在你的循环中,赋值总是给i,因为等号的顺序,事实上你总是从循环外部分配i j的未初始化值。因此,j仍然保持着最初设定的看似疯狂的价值。

您希望将 i 的值分配给循环内部的j,即反转相等,如果你想看到它发生变化。此外,如果您想查看多个输出,则需要将 print 语句移动到 for 循环内。

您看到的输出不是多个 print 语句的输出 - 它是自动分配给 j 初始值的单个数字,因为您在声明它时没有给它一个值。愿你安好。

首先,变量"j"未初始化。然后,您将循环变量设置为 j 的值。

看起来您正在尝试构建一个字符串"0123456789",在这种情况下,您需要将j设为字符串,并将每个数字的字符连接到循环中字符串的末尾。

在循环中,当我<10 并且 i 从 0 开始时,您正在循环。如果你想设置 j = i,那么你需要切换变量的顺序,因为否则可能会弄乱循环,但不一定在这种情况下。

此外,您应该将j初始化为某个值,因为如果没有,您将获得垃圾值。

此外,它不会按照您想要的方式输出它。您应该将 cout 语句移动到 for 循环中,以获得您想要的输出。