写一个函数,每调用一次这个函数,就会将num的值增加1
写一个函数,每调用一次这个函数,就会将num的值增加1
在这里,咋一看感觉确实挺简单的,但思维只要是跟上,确实也是挺简单的
函数:对于初学者而言,能够看懂并且能够理解该代码的意思,我想应该没有啥大问题;
但是,对于目标遥远的笔者而言,却是远远不够的,因此,对于函数,我们要下笔要快,留足足够的空间来认识并且了解函数的标准写法:函数体,函数声明,函数调用,函数的定义等部分,都需要我们认真去思考,去认识!
写一个函数,每调用一次这个函数,就会将num的值增加1
首先,我们知道这个要求是写一个函数,每调用一次,num的值都会增加1;但是对于增加1,该如何实现,优先级?,指针?,数组?等,可能都会是该要求的前提;
下面来看笔者所写代码;进供参考
#include <stdio.h>
void add(int* p)
{
(*p)++;
}
int main()
{
int num = 0;
add(&num);
printf("num=%d\n", num); //num=1
add(&num);
printf("num=%d\n", num); //num=2
add(&num);
printf("num=%d\n", num); //num=3
return 0;
}
在这里面用了指针(大概运用,具体内容,笔者也没有学习,浅浅借阅),”()“与“++”的优先级顺序,取地址“&”符号的应用,函数的写法,等内容。
运行的结果为:
确实符合题目要求!
但是在函数体部分用了void 表示无输出值,不用有return返回值问题,
但是,对于:
void add(int* p)
{
(*p)++;
}
这一部分,由于“++”的优先级较高,如果去掉前面的括号,将会输出错误结果........
对于部分读者的不相信,笔者进行尝试一下就知道结果
在这里,三次的输出结果都是num=0;原因就是因为优先级问题。
文章中用了取地址符号,还有指针类型
取地址是因为:对于num的地址是不会变化的,然后取地址以后,传给函数部分,函数部分用指针来接收地址
至于其他具体原因,由于笔者也是小白一个,梦想着变成大超人,笔者也在不断地进行学习,学习,在学习的过程,因此,笔者相信,在之后不久的文章中,将会有着对指针部分的涉及。
- 点赞
- 收藏
- 关注作者
评论(0)