文档章节

第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语言数组与指针一本道来

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

PcDack
2017/12/04
0
0
十四、返回指针的函数与指向函数的指针

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

长平狐
2013/03/28
75
0
指针的使用

1.指针与别名陷阱 如果有一块内存区域,指向这块内存区域的指针有多个,其中每一个指针都是其他指针的别名。 别名操作在优化程序是会造成很多麻烦,如下面的例子: 上面的两段代码,第一段访...

大道无名
2016/10/22
10
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS三元运算示例

1. topFlag=topFlag ==0?1:0; 等于 if(topFlag=00){ topFlag=1; }else if(topFlag == 1){ topFlag=0; } 2. 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3大')}; 注......

森火
今天
0
0
利用Slf4j的MDC跟踪方法调用链

why? 一个web项目通常提供很多URL访问地址, 项目一般都是分层处理,例如Controller——>Service——>DAO。 如果想根据日志查看用户一次请求都走了哪些方法(多数是查错误)。 如果系统是多人...

杨春炼
今天
7
0
Maven介绍及安装

Maven介绍及安装 以下内容是本人早期学习时的笔记,可能比较详实繁琐,现在复习一下Maven,顺便将内容抛出来,供大家一起学习进步。 一、Maven简介 Maven是Apache旗下的一款项目管理工具,是...

星汉
今天
0
0
小程序Aes解密

主要步骤: 1、下载AES源码(JS版) 2、在小程序中新建一个公共的文件夹,把AES源码拷贝进去(注意:需要暴露接口 module.exports = CryptoJS;) 3、添加一个用于加密解密的公共JS,可取名为...

Mr_Tea伯奕
今天
0
0
Go实现文件传输(基本传输可用)

发送端 package mainimport ("fmt""os""net""io")func SendFile(path string, connect net.Conn){file, oerr :=os.Open(path)if oerr !=nil{fmt.Println("Open", oerr)......

CHONGCHEN
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部