首页 > 其他分享 >字符串函数练习

字符串函数练习

时间:2023-03-12 20:57:25浏览次数:47  
标签:函数 练习 char pc while Ho 字符串 ptr

字符串函数练习

一:下列程序会打印什么

  1. #include<stdio.h>
    int main(void)
    {
        char note[]="See you at the snack bar.";
        char *ptr;
        
        ptr=note;
        puts(ptr);
        puts(++ptr);
        note[7]='\0';\\只保留了字符串前七位
        puts(note);
        puts(++ptr);
        return 0;
    }
    ​

    打印结果:

    See you at the snack bar.
    ee you at the snack bar.
    See you
    e you
    ​

    puts(++ptr)表示从第二个元素e开始打印

    puts( )函数遇到空字符停止('\0')

     

  2. #include<stdio.h>
    #include<string.h>
    ​
    int main(void)
    {
        char food[]="Yummy";
        char *ptr;
        
        ptr=food+strlen(food);???
        while(--ptr>=food){
            puts(ptr);
        }
        return 0;
    }
    ​

打印结果:

y
my
mmy
ummy
Yummy
​

ptr=food+strlen(food)表示将指针指向food字符的最后一个元素(该元素是空字符\0)

  1. #include<stdio.h>
    #include<string.h>
    ​
    int main(void)
    {
        char goldwyn[40]="art of it all ";
        char samuel[40]="I read p";
        const char *quote="the way through.";
        
        strcat(goldwyn,quote);
        strcat(samuel,goldwyn);
        puts(samuel);
        return 0;
    }
    ​

打印结果:

I read part of it all the way through.

主要是strcat( )函数的使用,把第二个字符串加在第一个字符串末尾,并把拼接后形成的新字符串作为第一个字符串,第二个字符串不变。

  1. #include<stdio.h>
    ​
    char *pr(char *str)
    {
        char *pc;
        
        pc=str;
        while(*pc){
            putchar(*pc++);
        }//在while循环中,打印指针pc指向的字符串,直到*pc为0(即字符串末尾的空字符
        do{
            putchar(*--pc);
        }while(pc-str);//在do...while循环中,通过指针递减,将while循环已经移动到字符串末尾的指针重新向字符串头部倒序移动,用于逆序打印整个字符串
        return (pc);
    }

    考虑下面的函数调用: x=pr("Ho Ho Ho!");

    a. 将打印什么?

    将打印Ho Ho Ho!!oH oH oH

    b. x是什么类型?

    x与函数pr( )的返回值相同,均是char*

    c. x的值是什么?

    x的值即函数的返回值。通过两个循环,将局部变量pc指向函数参数字符串的首字符,所以x的值等于str。在函数调用中x指向字符串“Ho Ho Ho!”的首字母'H'

    d.表达式*--pc是什么意思?

    *--pc表示将pc指针递减1

    --*pc表示先取指针pc指向的储存区域中值,再做递减操作

    e.两个while循环用来测试什么?

    while(*pc)用来检测pc指针是否指向一个空字符,判断条件使用pc指向的地址中的数组

    while(pc-str)检测指针pc是否指向str字符串的头(即pc的地址是否和str的地址相等),判断条件使用指针pc内储存的地址值

     

标签:函数,练习,char,pc,while,Ho,字符串,ptr
From: https://www.cnblogs.com/ninnne/p/17209066.html

相关文章

  • 部分字符串函数的自定义实现
    strlen(),strcpy(),strcmp(),strcat(),strstr()等字符串函数是我们经常遇见的字符串函数,这篇文章,就让我们来尝试自定义实现这些函数。一、首先是strlen()函数,strlen()函数是......
  • JavaScript异步编程的深入理解,使用回调函数实现异步编程
    异步编程是指在程序运行时,任务不会按照函数调用的顺序依次执行,而是可以同时执行多个任务。JavaScript异步编程有很多种方式,例如使用回调函数、Promise、async/await等。下面......
  • Oracle相关的函数
    1:时间相关 时间的变化。selectsysdate+1fromdual; //表示当前的时间加1天。selectsysdate+1/24fromdual//加1个小时selectsysdate+1/24/60fromdual;加......
  • 函数
    函数的基本使用:无参函数:就是函数没有参数的函数。有参函数:函数内可以传值的函数。位置参数:函数的参数和调用的值一一对应的就是位置函数。关键字参数:以变量名=变量值的......
  • 手写上下文函数
     bind返回一个新函数,但不执行绑定this和部分参数如是箭头函数,无法改变this,只能改变参数Function.prototype.customBind=function(context,...bindArgs){......
  • linux下的ptrace函数
    Linux下的ptrace函数ptrace系统调用的用途ptrace系统调从名字上看是用于进程跟踪的,它提供了父进程可以观察和控制其子进程执行的能力,并允许父进程检查和替换子进程的内核......
  • Java算法——字符串
    344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)......
  • cpp 数字和字符串相互转换
     字符串转数字1、系统函数strtofstrtodstrtold转为浮点数,参数类型是char*strtol转为整数,自动判断字符串进制类型,参数char*stoistofstol参数类型string,整数可......
  • MySQL中的函数
    1.函数函数与存储过程一样,也是一组预先编译好的SQL语句的集合,理解为批处理语句。将实现某个功能的一段代码封装起来,只暴露名字,隐藏具体实现过程。函数与存储过程的......
  • [JS JavaScript] 使用CryptoJS库对给定的加密字符串进行解密
    本代码可以使用在Web中,或者其他可以出入密码的场景在需要解密的信息不大的情况下,可以将加密后的信息放入到JS中,在输入密码后,对加密后的信息进行解密在vue中,可以很方便的......