Wizardgc 发表于 2021-7-24 10:33:19

能不能麻烦朋友们给我讲讲,do while这里是怎么差了一次循环

第一种情况:
do{
                sum = sum + min;
        }while (min++ != max);

第二种情况:
do{
                sum = sum + min;
                min++
        }while (min != max);

人造人 发表于 2021-7-24 13:59:23

第一种情况:
do{
                sum = sum + min;
      //}while (min++ != max);
          }while (++min != max);

第二种情况:
do{
                sum = sum + min;
                min++
      }while (min != max);

武德 发表于 2021-7-25 01:36:18

第一种情况f范围相当于[min,max),因为min++虽然是min+1但式子返回为原来的min,如i=5;(i++)等于5,i=6.
第二种情况范围相当于(min,max)

焦糖橙子 发表于 2021-7-25 11:30:48

举个例子,比如初始状态下sum=0,min=1,max=6.



那么第一种情况下,当sum的值为10的时候,min++后为5,满足循环条件,进行下一次循环,使得sum最终为15;

sum        0        1        3        6        10        15
min        1        2        3        4        5        6       
max        6


第二种情况下,当sum的值为10的时候,min++后为6,这时已经不满足循环条件,故退出循环,最终得sum为10


sum        0        1        3        6        10
min        1        2        3        4        5        6
max        6

页: [1]
查看完整版本: 能不能麻烦朋友们给我讲讲,do while这里是怎么差了一次循环