関数 find_depth; で cout ステートメントが配列 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;
}
O/P:
...
val is: F
val is: F
val is: F
val is: F
val is: F
0何かキーを押して続行します。. .
編集:メインにすべて0を含むように配列を初期化しました。だから私は0が印刷されることを期待していました。O (Oh! のように) がどこで文脈に入るのかわからない。誰かがそれについてもう少し説明できますか?
私はこの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