关于变量作用域以下代码输出为什么是6?求解
#include <stdio.h>int f1(int val){ int *ptr; if (val == 0) { int val; val1 = 5; ptr = &val; } return *ptr + 1;}int main(void){ int val = 0; val = f1(val); printf("%d\n", val);}