这个a是怎样赋值的啊

img


这个代码无论输的数是几输出的a都是5,但是a不应该在if语句里重新赋值了吗。
就像一个a=1;
a=2;
printf(“%d”,a);的代码输出的结果是2那样
还是这两个代码有区别(つД`)

if里边不是重新申明了int a么,那这个a就在if里边的括号内是7,外边不变的

你后面两个a都是局部变量而已,最后输出的a是最开始定义的a值。如果你想在if。。。else中修改a值,就不要再加int了