i = 2 という答えが返ってきました。私の理解によると、i=0 は DATA SEGMENT になります I=2 は STACK SEGMENT になります
#include <stdio.h>
int i = 0;
void main()
{
int i = 2;
printf("i value is %d\n",i);`
}
i = 2 という答えが返ってきました。私の理解によると、i=0 は DATA SEGMENT になります I=2 は STACK SEGMENT になります
#include <stdio.h>
int i = 0;
void main()
{
int i = 2;
printf("i value is %d\n",i);`
}
ローカル変数i
はグローバル変数を隠しますi
。したがって、それを印刷すると、ローカル変数が印刷されます。
グローバル変数を変更する場合は、次のアイデアを使用できます。
グローバル変数と同じ名前のローカル変数を宣言し、i
(ローカル変数が宣言されているのとまったく同じスコープ内で使用された場合) グローバル変数ではなくローカル変数を参照するようにして非表示にしました。
これに対する最も自然で論理的な解決策は、次のとおりです。可能な限り常に実行しないでください。