gpt4 book ai didi

c++ - 在不同的 C++ IDE 中产生不同的结果

转载 作者:行者123 更新时间:2023-11-28 07:27:22 24 4
gpt4 key购买 nike

我在 compileonline.com 和 Xcode 中执行了相同的代码,我在 Xcode 中得到了错误的结果,但在 compileonline.com 中得到了正确的结果

对于下面的代码

#include <iostream> 
using namespace std;
int main()
{
int n=0,i,x[n],y[n];

// insert code here...
cout << "Enter number of inputs\n";
cin >> n;

for (i=0;i<n;i++)
{
cin >> x[i];
cin >> y[i];
}
//print x
for ( i=0;i<n;i++)
{
cout << x[i];
}

cout << "Test1";

//print y
for ( i=0;i<n;i++)
{
cout << y[i];
}
}

为了 http://www.compileonline.com/

输入:

1 5 6

输出:

Enter number of inputs

5Test16

对于 Xcode,

输入:

1 5 6

输出:

Enter number of inputs

6Test16

最佳答案

int n=0,i,x[n],y[n];

这不会创建有效的数组。如果 n0,那么您将得到大小为 0 的数组。大小为 0 的数组在 C++ 中无效,因此即使您的代码能够编译,其行为也是不可预测的。您想稍后读取 n 并创建一个包含这么多元素的数组,但您不能这样做。

相反,您应该先阅读n,然后您可以像这样创建数组:

int *x = new int[n];
int *y = new int[n];

关于c++ - 在不同的 C++ IDE 中产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18519956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com