【发布时间】:2019-10-01 07:35:00
【问题描述】:
for循环的条件是否总是需要常数?
如何将sizeof 函数放在那里以运行显示数组所有元素的输出?
#include<iostream>
using namespace std;
void array_output(int a[])
{
for (int i = 0; i < (sizeof(a)) / (sizeof(a[0])); i++)
{
cout << a[i] << endl;
}
}
int main()
{
int a[] = { 22, 53, 13, 65, 80, 31, 46 };
array_output(a);
return 0;
}
-
i<(sizeof(a)输出显示第一个4元素 -
i<(sizeof(a))/(sizeof(a[0]))输出仅显示第一个元素 - 当
7直接用作条件时,而不是sizeof,它给出
正确的输出,显示所有元素。
【问题讨论】:
-
请发布actually reproduces the problem的代码。您假定的某些代码不会重现该问题。第二个选项可以正常工作here。
标签: c++ arrays function for-loop sizeof