首页 > 其他分享 >C学习7

C学习7

时间:2023-08-18 18:15:10浏览次数:77  
标签:char get int 学习 num str stringlen

1、取出整数各位数字

#include<stdio.h>
void separate(int n)
{
    if (n > 9)
    {
        separate(n / 10);
    }
    printf("%d ", n%10);
}
int main()
{
    unsigned int num = 0;
    printf("请输入需要分解的数字:");
    scanf_s("%d", &num);
    separate(num);
}

 2、不生成临时变量计算字符串字数(即不使用strlen库函数而是用自定义函数)

#include<stdio.h>
int get_stringlen(char* str)
{
    int count = 0;
    while (*str != '\0')
    {
        count++;
        str++;
    }
    return count;
}
int main()
{
    char arr[] = "Avalon";
    int len = 0;
    len = get_stringlen(arr);
    printf("Result:%d", len);
}

get_stringlen内传入参数不是整个数组,而是数组首个元素的地址,所以用char* str(str是随意定义的名字),while的条件*str是做解引用逐个取字符串里的字

递归的函数写法是

int get_stringlen(char* str)
{
    if (*str != '\0')
        return 1 + get_stringlen(str + 1);
    else
        return 0;
}

比较需要在意的是递归部分的get_stringlen(str+1)的写法。

 

标签:char,get,int,学习,num,str,stringlen
From: https://www.cnblogs.com/AvalonForLovers/p/17641208.html

相关文章

  • RAM、ROM、SRAM、DRAM、FLASH等常见存储器学习记录
    存储器按照掉电失去数据分为两类:易失性和非易失性。RAM:随机存取存储器(英语:RandomAccessMemory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个......
  • 算法学习笔记
    来源排序算法冒泡排序遍历数组每次遍历到的元素和下一个元素比较,如果出现大于下一个,则交换一趟遍历就能使一个元素到它应当出现的地方图示:图片源自知乎代码:voidbubbleSort(intarr[],intn){for(inti=0;i<n-1;i++){//进行n-1轮排序,因为要和......
  • 吴恩达机器学习2011版本学习笔记
    这是看完视频后,按自己的理解做了笔记。监督学习学的比较认真,33之后的无监督学习心态已经浮躁了,以后要再学一遍2022最新版视频课。1,有正确答案是有监督学习,反之是无监督学习2,模型就是把训练数据拟合为一个公式(严格来说是个函数,关系)。入门的拟合的方法是最小二乘法,先假设一个公式,......
  • 【学习笔记】简单数论-同余
    同余若整数\(a\)和整数\(b\)除以正整数\(m\)的余数相等,则称\(a,b\)模\(m\)同余,记为\(a\equivb\pmod{p}\)。性质自反性:\(a\equiva\pmod{p}\)对称性:若\(a\equivb\pmod{p}\),则\(b\equiva\pmod{p}\)。传递性:若\(a\equivb\pmod{p},b\equiv......
  • 【学习笔记】简单数论-快速幂
    luoguP1226【模板】快速幂|取余运算#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definesortstable_sort#defineendl'\n'llqpow(lla,llb,llp){llans=1;while(b>0){if(b&1){......
  • 【学习笔记】简单数论-最大公约数
    一个整数\(N\)的约数上界为\(2\sqrt{N}\)。\(1\simN\)每个数的约数个数的总和大约为\(N\timeslogN\)。取模运算性质\((a+b)\bmodp=((a\bmodp)+(b\modp))\modp\),反之亦成立。\((a-b)\bmodp=((a\bmodp)-(b\modp))\modp\),反之亦成立。\((a\tim......
  • 【学习笔记】简单数论-质数
    质数的个数是无限的。试除法:若一个正整数\(N\)为合数,则存在一个能整除\(N\)的数\(T\),其中\(2\leT\le\sqrt{N}\)。时间复杂度为\(O(\sqrt{N})\)。代码实现boolisprime(intn){ if(n<2) returnfalse; for(inti=2;i<=sqrt(n);i++) if(n......
  • 重新开始系统学习
    JavaJava并发包中Lock的实现原理SpringspringBead生命周期SpringBean和AOPAOP实现原理(动态代理和反射技术)JAVAAOP技术科普分享(上篇)技术科普  SpringCloud篇【SpringCloud】六大组件及作用eureka、zookepeer、nacos1eureka、zooKeeper、nacos2Dubbo......
  • docker网咯的学习
    dockernetworkcreate--driverbridge --subnet192.168.0.0/16--gateway192.168.0.1mynetnetwork网络命令 create创建 --driver网络模式  默认为bridge  --subnet 创建子网掩码  --gateway网关地址: 最后加上网络名称步骤--driverbridge--subne......
  • JavaSE学习笔记day04
    IO流概念:OS的文件系统:(1)文件:文本文件、视频文件、音频文件、图像文件、可执行文件等等,这些文件都是由一个个字节组成的。(2)目录(文件夹):对文件进行归纳划分,将同类型的文件方法在同一个文件夹中,方便我们管理和使用。(3)资源访问路径:1)相对路径:相对于某一个文件夹......