文档章节

第09天C语言(09):指向函数的指针练习

lyh2017iOS
 lyh2017iOS
发布于 2017/07/06 01:26
字数 564
阅读 2
收藏 0

#pragma mark 指向函数的指针练习 ###pragma mark 概念

/**
 控制台输出 po * xxx
 
 */

###pragma mark 代码

#include <stdio.h>
char upper(char value);
void upperCase(char *p);
//void ts(char *temp);
void ts(char *temp, void (*funtionP)(char *));
int main()
{
#warning 要求用户输入的一段英文,将用户输入的英文单词所有的首字母大写
    // hello world -- > Hello World
    
    // 1. 接收用户输入的字符串
    // 2. 遍历字符串,判断当前字符串是不是空格,如果是空格将下一个字符转成为大写
    
    // 1. 先实现接收字符串
    // 2. 再实现字母的大小写转换
    // 3. 再实现替换字符串中的单词首字符
    /*
    printf("请输入一句英文, 单词之间用空格隔开\n");
//    char *str;
    char str[100];
//    scanf("%s",str);
    gets(str);
    printf("str = %s\n",str);
     */
    
    /*
    char c = 'a';
//    printf("c = %c\n",upper(c));
//    printf("c = %c\n",upperCase(&c));
    upperCase(&c);

    printf("c = %c\n",c);
     */

    // 1. 接收用户输入
    printf("请输入一句英文, 单词之间用空格隔开\n");
    //    char *str;
    char str[100];
    //    scanf("%s",str);
    gets(str);
    // 注意: 数组名称不能做+1的操作,只有指针才可以
    
    /*
    char *temp = str;
    // 2.遍历字符串
    // temp = &str[0]
    upperCase(temp);

    while (*temp != '\0') { // 第一次取出 h
        // 2.1 取出当前的字符,判断是否等于 空格, 如果等于空格就需要将下一个字符转为 大写
        if ((*temp) == ' ') {
            // 2.2 将下一个字符串转为大写
            upperCase(++temp);
            
        }
        else
        {
            temp++;
        }
    }
     */
//    ts(str,upperCase(str));
    ts(str, upperCase);
    printf("str  = %s",str);
    
    return 0;
}


void ts(char *temp, void (*funtionP)(char *))
{
    // 1.不管三七二十一 先将第一个字母转换为大写
    // 2.遍历字符串
    // temp = &str[0]
    upperCase(temp);
    
    while (*temp != '\0') { // 第一次取出 h
        // 2.1 取出当前的字符,判断是否等于 空格, 如果等于空格就需要将下一个字符转为 大写
        if ((*temp) == ' ') {
            // 2.2 将下一个字符串转为大写
//            upperCase(++temp);
            funtionP(++temp);
            
        }
        else
        {
            temp++;
        }
    }
}
void upperCase(char *p)
{
    // 1. 判断是不是小写字母
    if (*p >='a' && *p <= 'z')
    {
        // 2.将小写字母转成大学字母
        *p = *p - ('a' - 'A');
    }
}

// 将首字母小写 转成 大写
char upper(char value)
{
    // 1. 判断是不是小写字母
    if (value >='a' && value <= 'z')
    {
        // 2.将小写字母转成大学字母
        value = value - ('a' - 'A');
    }
    
    return value;
}

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
[iOS]C语言知识点系列视频整理

C语言知识点系列视频 目录 C语言技术视频-01-变量的定义 C语言技术视频-02-程序分支结构(if...else) C语言技术视频-03-程序分支结构(switch) C语言技术视频-04-程序循环结构(while{}) C语言技...

浩浩老师
2015/10/13
38
0
JavaScript 30天每日效果图

JavaScript 30天每日效果图 在Github上看到了wesbos的一个Javascript30天挑战的repo,旨在使用纯JS来进行练习,不允许使用任何其他的库和框架,该挑战共30天,我会在这里复现这30天遇到的挑战...

黎跃春
2017/07/19
0
0
C语言自学完备手册(32)——文件

版权声明: https://blog.csdn.net/lfdfhl/article/details/83752060 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–o...

谷哥的小弟
2018/11/10
0
0
十四、返回指针的函数与指向函数的指针

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 前言 前面我们花了...

长平狐
2013/03/28
89
0
C语言数组与指针一本道来

数组与指针.png 一本道来其他系列 C语言关键字 C语言注释符号一本道来 C语言编译预处理技术一本道来 指针的基础 注意本节内容可能在gcc下不能完成编译,请切换到Windows平台,使用或其他 指针...

PcDack
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

 tomcat启动问题

tomcat启动问题: 解决方法:tomcat bin目录下 新建setenv.sh文件 文件上加入 export CATALINA_OPTS='-Djava.awt.headless=true' 该方法对tomcat8以上有用...

west_coast
22分钟前
1
0
《从0开始学架构》学习笔记索引

一、架构设计相关概念及复杂度来源 二、架构设计三原则 三、架构设计流程 ... 完整课程(微信扫码):

whoru
36分钟前
1
0
新的尝试!ComponentOne WinForm 和 .NET Core 3.0

在微软 Build 2018 开发者大会上,.NET 团队公布了 .NET Core 的下一个主要版本 .NET Core 3.0 的规划蓝图:.NET Core 3将开始支持Windows桌面应用程序,包括Windows Form、Windows Present...

葡萄城技术团队
38分钟前
0
0
Try .NET & Github Gist

Try .NET Try .NET 是微软最近推出的在线 C# 运行环境,不用安装 Visual Studio 等,就可以直接上手写 C# 代码. 可以先进来写两行代码看看 https://try.dot.net/ 对于初学者/代码分享而言是一个...

taadis
39分钟前
21
0
PyCharm入门教程——掌握PyCharm键盘快捷键

PyCharm最新版本下载 JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web...

电池盒
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部