关于#c++#的问题:为什么n++从1开始比较(前提n=0)第二张图片为什么是从i++从1开始比较(前提是n=1)我自己明白前++和后++

第一张图片,为什么n++从1开始比较(前提n=0)

img


第二张图片为什么是从i++从1开始比较(前提是n=1)

img


我自己明白前++和后++,被搞蒙了

  • 第一张图,判断如下
循环次数
第1次    0 <= 2  i++后,i = 1  打印 1
第2次    1 <=2   i++后,i = 2 打印 2
第3次     2<=2   i++后,i = 3 打印 3
第4次     3<=2   条件不成立,退出循环;i++后,i = 4
// 结果就是 123
  • 第二张图,判断如下
循环次数
第1次    1 < 4    i++后,i = 2
第2次    2 < 4    i++后,i = 3
第3次    3< 4      i++后,i = 4
第4次     4<4   条件不成立,退出循环,i++后, i=5
// 结果就是 5

n++<=2;
首先看一下运算符的优先结构,明显++比<=高
所以先执行n++,但是有个规定:n++是先使用再++,就是说先使用n,判断n<=2,然后n自己加1。
所以输出为123,但其实第一张图n是从0开始比较的,只不过比较之后加1输出了
望采纳!