C语言非常道
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6 从1加到N

在上一章里我们讲到了函数,函数是一个可重复使用的代码块,对函数的使用要通过所谓的函数调用来进行。每个函数只做固定的工作,但每次做可能不完全一样。比如计算圆周率,计算方法是固定的,但每次给定的半径却不同,得出的结果自然也不同。

相似地,如果我们不满足于从1加到100,而是想加到1000000000以内的任何数,该怎么办呢?这就是函数大显身手的时候了。在下面的程序中,我们将编写一个独立的函数来做到以不变应万变。

              /*******************c0202.c******************/
              unsigned long long int cusum(unsigned long long int r)
              {
                  unsigned long long int n, sum;

                  n = 1;
                  sum = 0;

                  while(n <= r)
                  {
                    sum = sum + n;
                    n = n + 1;
                  }

                  return sum;
              }

              /*从现在开始,为节省篇幅、节约纸张,main函数一律不再包含末尾的return 0;语句,
                但请确保你的C实现支持C99(噢,很少有不支持的了)。*/
              int main(void)
              {
                  unsigned long long int x, y, z;

                  x = cusum(10);
                  y = cusum(100);
                  z = cusum(1000);
              }   //此函数没有return语句,程序执行到此花括号时,如同执行了return 0;