库函数学习网站:
www.cplusplus.com/reference/clibrary
官方英文版:https://en.cppreference.com
官方中文版:https://zh.cppreference.com
尽量提高英文阅读能力,对后续学习工作帮助非常大。
函数命名都是有意义的,大多包含功能英文缩写,库函数的使用必须包含头文件。
函数的组成:
ret_type fun_name(para1,*)
{
statement;//语句项
}
ret_type 返回类型
fun_name 函数名
para1 函数参数
{statement;} 函数体,函数的实现
#include <stdio.h> int max(int x, int y) { return (x > y ? x : y); } void print() { printf("void 无返回类型函数"); } int main() { int a = 19; int b = 29; scanf("%d %d", &a, &b); int bigger = max(a, b); printf("%d\n", bigger); print(); return 0; }
函数传参时 要注意 修改形参的值 不会 影响实参的值
#include <stdio.h> void swap(int x, int y) { int temp = 0; temp = x; x = y; y = temp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 1; int b = 10; swap(a, b); printf("a=%d,b=%d\n", a, b); return 0; }
a和b的值完全没变,这是为什么?
进入调试界面
发现,虽然将 a, b 的值传给了 x,y,但他们地址不同。修改x和y的值不会影响a和b的值。
综上,注意实参传形参时,形参是实参的临时拷贝,对形参的修改不会影响实参。
既然如此,我们直接将地址传入函数,再操作即可。
#include <stdio.h> //void swap(int x, int y) //{ // int temp = 0; // temp = x; // x = y; // y = temp; // printf("x=%d,y=%d\n", x, y); //} void swap(int* px, int* py) { int temp = *px; *px = *py; *py = temp; printf("*px=%d,*py=%d\n", *px, *py); } int main() { int a = 1; int b = 10; /*swap(a, b);*/ swap(&a, &b); printf("a=%d,b=%d\n", a, b); return 0; }
标签:函数,temp,归纳,int,void,笔记,第十一篇,printf,swap From: https://www.cnblogs.com/xiaowanglong/p/17894155.html