今天回顾了一下几天前老师布置的一道题目,并且在网上学习了新章节函数中的定义函数。
首先这道题是一个关于n的阶乘和的题目,也就是回顾了一下for循环。它的代码写如下:#include <stdio.h> int main() {int n=0 ; int jie = 1; int sum = 0; for(n = 1;n <= 某数;n++)
{ jie = jie*n; sum = sum+jie;} printf("sum = %d\n",sum); return 0;}
接下来是定义函数中,类似于递归方法的学习,我的学习是以互换两个变量的值为目的,定义一个函数并在主函数中使用。在这里我一开始的想法则是首先创建一个互换变量的swap()函数,而在里面会出现想,x,y,m,他们的数据类型都是int型,做好之后在把主函数里的要互换的a和b通过swap()函数最后输出a和b的值,惊奇地发现这样的结果和之前的是一样的,这就很奇怪,那么这里就关系到一个叫指针的东西了。分析是的确通过swap()达到了互换值的效果,而并没有改变或者得到a和b的数据存放地址,故最后printf里面还是将原数据输出,所以指针的用处就是将a和b的地址交给了我们定义的*pa和*pb里面,引出第三个变量tmp而数据也同样得到了互换,这样一来递归的使用输出a和b的值就互换了。这的确是一个比较抽象的过程我看了许久才明白。