第一个循环了1 * 9=9次都是用i做变量,第一次循序后,里面的那层循环会让i=9,下次外层i++ = 10就会退出循环,外层只循环了一次,没法完成排序
第二个是循环了9 * 9=81次,i和j是独立的,应该是可以实现排序,
没有区别,但不建议使用第一种全用i的写法,因为可读性差,容易令人(比如题主)误会
为什么没有区别,因为这个变量仅用于使循环执行9次,除此之外没有被别的地方用过。
虽然在第一种写法中两层循环都用了变量i,看似互相干扰,但是因为花括号{}限制了局部变量的作用域,所以内层循环中的变量i与外层循环中的变量i其实是两个不同的变量。由于名称相同,所以在程序运行到内层循环时,只能访问到内层变量i而访问不到外层变量i。虽然语法正确,但代码一般不这样写。
没啥不一样,都是申明一个变量,你可以随便定义,abc也行,只是习惯性用i,j