ret的输出结果为1?

img


第二次循环的时候ret不应该=1x2吗,那结果应该是2才对呀,为什么到最后输出的结果却是1呢?

在for循环内定义的int ret = 1只在循环内有效,这个ret经过二次循环后确实为2,但printf打印的ret是for循环外定义的int ret = 1,因此打印1

第10行的int 加上后 里面的ret和外面的ret就不是同一个ret了 每次循环都重新定义了一个ret 它的值也一直初始化为1
你可以把10行的int去掉 就是你想要的结果了