int a=3; main(){int s=0;{int a=5;s+=a++;}s+=a++;printf("%d尀n",s);}

2025-02-25 14:45:35
推荐回答(2个)
回答1:

这个输出为8,
int a=3;//定义全局变量
main()
{int s=0;
{int a=5;
s+=a++;//这里计算后s的值为5,因为a++是先算a的值,然后在加1,所以此时a的值为5,这条语句执行结束后才会变为6!
}
s+=a++;这里的a为全局变量3,而并非局部变量5,局部变量为5的a只在它所在的那条花括号里的快语句中起作用,这也是变量作用域的定义,所以s的值就为5+3=8
printf("%d\n",s);
}

回答2:

s=8