Online Compiler C

#include <stdio.h> int zhu(int n){ int a=1; for(int p=n-1;p>0;p--){ int a=a*2; } return a; } int main() { int q; scanf("%d",&q); printf("%d",zhu(q)); return 0; }
1) Этот код вычисляет 2 в степени (n-1), где n — введённое пользователем число. Однако в коде есть ошибка, из-за которой результат будет неверным.  

2) Подсказки:  
- Обрати внимание на область видимости переменной `a` внутри цикла.  
- Проверь, правильно ли инициализируется и изменяется переменная `a` в функции `zhu`.