是不是有问题?C语言

img


感觉ans没有初始化呀,怎么会有值呢,还有那个dfs嵌套的循环感觉不太理解可以解释一下吗?

for循环会循环三次 i=1 i=2 i=3
每一次进入循环都会调用dfs 这时ans=3
1/2=0 2/2=1 3/2=1
当i=2和i=3的时候 又会进入循环 这时ans=5
加上主函数里面的dfs(n) 所以ans=6

确实没有初始化,有问题。可能当做默认为0考虑吧

全局变量(在main之前定义的)默认初始化为0
局部变量(在main或函数内定义的)不初始化为0

请看👉 :C语言 不完全类型