c语言函数计算子针长度,第09天C语言(09):指向函数的指-针练习

#include

char upper(char value);

void upperCase(char *p);

//void ts(char *temp);

void ts(char *temp,void(*funtionP)(char *));

int main()

{

#pragma 1.要求用户输入一段英文,将用户输入的英文单词所有的首字母大写

// hello world ---> Hello world

// 1.接收用户输入的字符串

// 2.遍历字符串,判断当前字符串是不是空格,如果是空格 就将下一个字符 转换为大写

// 1.先实现接收字符串

// 2.在实现 字母的大小写转换

// 3.在实现 替换字符串的单词首字母

// char *str; 指针没有初始化,不能随便使用

// char str[100];

// scanf("%s",str);

// gets(str);

// printf("str = %s\n",str);

/*

char c = 'a'; //

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

upperCase(&c);

// *p == c

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

*/

// 1.接收用户输入的数据

printf("请输入一句英文,单词之间用空格隔开\n");

char str[100];

gets(str);

// 注意 : 数组名称 不能做+1操作,只有指针才可以

/*

char *temp = str;

upperCase(temp);

// 2.遍历字符串

while (*temp !='\0') {

// 2.1 取出当前的字符, 判断是否等于 空格 ,如果等于空格 就需要将下一个 字符转换为大写

if ((*temp) == ' ') {

// 2.2 将下一个字符 转换为大写

upperCase(++temp);

}

else

{

temp++;

}

}

*/

ts(str,upperCase);

printf("str = %s\n",str);

return 0;

}

// void(*funtionP)(char *) 可以提供大小写的方法

void ts(char *temp,void(*funtionP)(char *))

{

// 1.不管三七二十一 先将第一个字母转换为大写

upperCase(temp);

// 2.遍历字符串

while (*temp !='\0') {

// 2.1 取出当前的字符, 判断是否等于 空格 ,如果等于空格 就需要将下一个 字符转换为大写

if ((*temp) == ' ') {

// 2.2 将下一个字符 转换为大写

// upperCase(++temp);

(funtionP)(++temp);

}

else

{

temp++;

}

}

}

void upperCase(char *p)

{

if (*p >='a' && *p <= 'z') {

*p = *p - ('a' - 'A'); // 32 小写的ASCII 大于 大写的

}

}

char upper(char value)

{

// 1.判断是不是小写字母

if (value >='a' && value <= 'z') {

value = value - ('a' - 'A'); // 32 小写的ASCII 大于 大写的

}

return value;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值