能不能看下这里的i为什么要初始化

img


这里的i为什么要初始化啊,我之后不是h和i不应该用法是一样的吗,h都没说要初始化,但是这个报错框我点忽略还是会出现正确答案,主要就是想问为什么i要初始化h不用。

i赋值的那一句数据上面的else分支,如果没进来这个分支的话,i并没有赋值,然后在下面又使用了i的值,所以i需要在定义的时候初始化或者在do循环体里面先初始化

这里的i和h都是要先初始化为1的,如果不初始化的化系统会随机给他分配一个值,结果🔥报错。
至于这里只提示了i没有初始化,而h没有提示,我觉得应该是执行顺序的问题,你先把i初始化为1,h不初始化,在编译一次,可能就会提示h没有初始化了。
总之,i和h都是要先初始化为1的在此处。

有帮助的话采纳一下噢