喜你 发表于 2021-11-3 10:04:20

循环

为什么循环的上边需要吧读入的变量再赋值给另外变量

jackz007 发表于 2021-11-3 10:22:50

本帖最后由 jackz007 于 2021-11-3 10:37 编辑

          赋值给别的变量是为了保护这个变量,往往是因为如果不这么做,这个变量就会在循环中被改变,而这个变量后面还会有用处,不可以被改变。所以,就权且让其它变量作为 "替身" 代替它去做改变。
          看看这个水仙花数的代码,比较能够说明这个问题
#include <stdio.h>

int main(void)
{
      int i , j , k , n ;
      for(i = 100 ; i < 1000 ; i ++) {
                for(k = 0 , j = i ; j > 0 ; j /= 10) k = k + (j % 10) * (j % 10) * (j % 10) ; // j 在这里充当了 i 的替身,j 在循环中一定会被改变,循环完成后,j = 0
                if(k == i) printf("%d\n" , i)                                             ; // 因为 i 在这里还有用处,况且,i 还是一个循环变量,更不可以被随意改变
      }      
}
页: [1]
查看完整版本: 循环