如何自定义一个函数进行加法运算,代码如下:

int add(int x, int y){    int z = 0;    z = x + y;    return z;}int main(){    int a = 10;    int b = 20;    int sum = 0;    sum = add(a, b);    printf("sum = %d\n", sum);    return 0;}

strcpy的使用,代码如下:

int main(){    char arr1[] = "bit";    char arr2[10] = "##########";    strcpy(arr2, arr1);    //string copy - 字符拷贝    //strlen - string length - 字符串长度有关    printf("%s\n", arr2);    return 0;}

memset 的使用,代码如下:

int main(){    char arr[] = "hello world";    memset(arr, '*', 5);    printf("%s\n", arr);    //***** world    return 0;}

自定义一个函数比较两个数的大小,代码如下:

int get_max(int x, int y){    if (x < y)        return y;    else    {        return x;    }}int main(){    int a = 10;    int b = 20;    int max = get_max(a, b);    printf("max = %d\n", max);    max = get_max(100,500);    printf("max = %d\n", max);    return 0;}

使用函数交换两个整数,代码如下:

//这样是不能转换的//void swap1(int x, int y)//{//  int tmp = 0;//  x = tmp;//  x = y;//  y = tmp;//}使用函数交换两个整数void swap2(int* qa, int* qb){    int tmp = 0;    tmp = *qa;    *qa = *qb;    *qb = tmp;}int main(){    int a = 10;    int b = 20;    printf("a = %d,b = %d\n", a, b);    //swap1(a, b);//传值调用//调用swap2函数    swap2(&a, &b);//传址调用    printf("a = %d,b = %d\n", a, b);    return 0;}

这里要明白传址调用和传值调用的区别,适用范围

使用函数打印100到200之间的素数,代码如下:

//是素数返回1,不是返回0int prime(int a){    //2—>a-1    int b = 0;    for ( b = 2; b <= sqrt(a); b++)    {        if (a%b == 0)            return 0;    }    return 1;}int main(){    //打印100到200之间的素数    int i = 0;    for ( i = 100; i <= 200; i++)    {        //判断i是否为素数        if (prime(i) == 1)            printf("%d\n", i);    }    return 0;}

写一个函数打印1000到2000年的闰年,代码如下:

int is_leap_year(int a){    if ((a % 4 == 0 && a % 100 != 0)||(a%400 == 0))    {        return 1;    }    return 0;}int main(){    //写一个函数打印1000到2000年的闰年    int year = 0;    for ( year = 1000; year <= 2000 ; year++)    {        if (is_leap_year(year) == 1)            printf("%d\n", year);    }    return 0;}

其实跟之前使用殉循环大同小异,多了个调用。
函数实现二分查找,代码如下:

//              本质上arr是一个指针int binary_search(int arr[], int k,int sz){    //算法的实现    int left = 0;    int right = sz - 1;    while (left <= right)    {        int mid = (left + right) / 2;//中间元素的下标        if (arr[mid]<k)        {            left = mid + 1;        }        else if (arr[mid]>k)        {            right = mid - 1;        }        else        {            return mid;        }    }    return -1;}int main(){    //二分查找    //在一个有序数组中查找具体的某个数    //如果找到了返回这个数的下标,找不到返回-1    //    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };    int k = 7;    int sz = sizeof(arr) / sizeof(arr[0]);//求数组的元素个数    int ret = binary_search(arr, k,sz);    if (ret == -1)    {        printf("找不到指定的数字\n");    }    else    {        printf("找到了,下标是:%d\n", ret);    }    return 0;}

写一个函数,每次调用这个函数,就会将num值+1

void add(int* p){    (*p)++;}int main(){    int num = 0;    add(&num);    printf("num = %d\n", num);//1    add(&num);    printf("num = %d\n", num);//2    add(&num);    printf("num = %d\n", num);//3    return 0;}

函数的链式访问

int main(){    printf("%d", printf("%d", printf("%d", 43)));//4321    return 0;}

函数的声明,调用,定义

//函数的声明int add(int x, int y);int main(){    int a = 10;    int b = 20;    int sum = 0;    //函数的调用    sum = add(a, b);    printf("%d\n", sum);    return 0;}//函数的定义int add(int x, int y){    int z = x + y;    return z;}

以上就是今天的学习内容啦,希望能坚持每天敲代码,写博客。
2021.1.22

©著作权归作者所有:来自51CTO博客作者qq5ffb0698bd953的原创作品,如需转载,请注明出处,否则将追究法律责任

好知识,才能预见未来

赞赏

0人进行了赞赏支持

更多相关文章

  1. .NET应用函数定义与用法汇总
  2. SignalR实现实时Web聊天的实例代码
  3. 异常设计函数定义与用法汇总
  4. 用微信PC端dll库实现截图的实例代码
  5. C#给图片增加文字实例代码
  6. C# 利用委托进行异步处理实例代码
  7. 比如说我们要从用户表customer和用户订单表orders中,查询上海的用
  8. 分享一些高效的LINQ语句代码
  9. httpHelper 从URL获取值的实例代码

随机推荐

  1. Android修改APP版本号
  2. Android(安卓)UI 之 我的页面 圆形图片+
  3. android最佳实践(五)
  4. Android单行显示ellipse和singleLine
  5. android基础入门(二)——创建android工程
  6. 如何安装apk文件在Android仿真器中
  7. Android探索之旅 | Android简介
  8. Android音频开发(6):Mp3的录制 - 使用Lame实
  9. android:layout_gravity 和 android:grav
  10. Android 三类框架的理解以及MVVM框架的使