我很困惑为什么 cout 语句没有在函数 find_depth 中打印数组 c_braces_array 的内容;
我要做的就是传递一个数组并打印它的值。
#include <iostream>
int find_depth(char c_braces_array[], int no_of_braces)
{
for(int i=0; i<no_of_braces; i++)
{
std::cout<<"val is:"<<c_braces_array[i]<<"F\n";
}
return 0;
}
int main()
{
char braces[100] = {0};
int ret_val = find_depth(braces, 100);
std::cout<<ret_val;
system ("pause");
return 0;
}
输出/输出:
...
val is: F
val is: F
val is: F
val is: F
val is: F
0按任意键继续。. .
编辑:我将数组初始化为包含主中的所有 0。所以我期待 0 被打印出来。我不确定 O(如哦!)的事情在哪里出现。有人可以解释一下吗?
我期待这个o / p
值是:0 F
编辑 - 2:伙计们,谢谢。感谢您指出错误。我也不明白为什么下面的行只用'a'而不是整个数组初始化大括号[0]。什么是初始化整个数组而不是运行 for 循环的正确方法。
现在我的代码如下所示。
main(){
...
char a_char = 'a';
char braces[100] = {a_char};
}
find_depth(..)
{
...
std::cout<<"val is:"<<c_braces_array_ptr[i]<<"X\n";
}
O/P
内部 main:a
val is:aX
val is:X
val is:X
val is:X
val is:X
val is:X
val is:X
val is:X