Как оцениваются эти макросы?
# define i 20
void fun();
int main(){
printf("%d",i);
fun();
printf("%d",i);
return 0;
}
void fun(){
#undef i
#define i 30
}
дает результат как 2020, но в то время как
# define i 20
void fun(){
#undef i
#define i 30
}
int main(){
printf("%d",i);
fun();
printf("%d",i);
return 0;
}
дает результат как 3030. Пожалуйста, объясни. Спасибо.