在for循环内定义的int ret = 1只在循环内有效,这个ret经过二次循环后确实为2,但printf打印的ret是for循环外定义的int ret = 1,因此打印1
第10行的int 加上后 里面的ret和外面的ret就不是同一个ret了 每次循环都重新定义了一个ret 它的值也一直初始化为1你可以把10行的int去掉 就是你想要的结果了