For循环在cpp中只执行一次

Posted

技术标签:

【中文标题】For循环在cpp中只执行一次【英文标题】:For Loop Executing only once in cpp 【发布时间】:2019-11-17 06:55:28 【问题描述】:

嘿,我正在尝试运行这段代码,但 for 循环只执行一次。 删除行 cout

int n,i;
cin>>n;
double a[n];
for(i=0;i<n;i++)

    cin>>a[i];
    a[i]=(a[i]/100);
    cout<<fixed<<setprecision(15)<<a[i];

for(i=0;i<n;i++) 
    cout<<a[i];

【问题讨论】:

它对我有用!你确定你正在编译正确的文件吗? 见***.com/q/57367473/10957435 无耻的插件——但做得很好:) 【参考方案1】:

首要任务

使用可变长度数组 (VLA) 不是标准 C++。一些编译器支持它作为扩展。如果你被允许使用std::vector, 使用

std::vector<double> a(n);

如果不允许使用std::vector,请使用

double* a = new double[n];

并确保使用

delete [] a;

在函数结束之前。

帮助您诊断问题的建议

在输入数据和消息之前添加适当的提示以指示所读取的内容。

for(i=0;i<n;i++)

    cout << "Enter number for a[" << i << "]: ";
    cin>>a[i];
    a[i]=(a[i]/100);

    // Make sure to add endl at the very end.
    cout<< "Value of a[" << i << "]: " << fixed << setprecision(15) << a[i] << endl;

【讨论】:

以上是关于For循环在cpp中只执行一次的主要内容,如果未能解决你的问题,请参考以下文章

为什么switch在Javascript数组的for循环中只运行一次?

Java循环语句之 for

cpp-for循环

为啥我的 For 循环在 EJS 节点 js 中只返回一个值?

如何在 for 循环中只获得 1 个输入而不是所有输入?

为啥这段代码在 for 循环中只使用 x 而不是 x 和 y? [关闭]