У меня есть программа c. Но я не могу понять выход этой программы.как статическая переменная работает в c
int main(){
int i=2;
for(i=0;i<=3;i++){
static int i;
i=i+8;
}
printf("%d",i);
}
Я считаю, что вывод должен быть 8, но фактический выход 4.
Может кто-нибудь объяснить, почему?
В каком состоянии сломал свой цикл? – WhozCraig
То, что внутренняя переменная 'i' является' static', здесь не имеет отношения. Это переменная 'i' во внешней области, которую вы печатаете (и используется для переменной цикла). –
Попробуйте использовать разные имена переменных –