黑马程序员技术交流社区
标题: 输入一英文句子,将其中所有单词首字符转换成大写后输... [打印本页]
作者: iphone 时间: 2015-8-25 14:18
标题: 输入一英文句子,将其中所有单词首字符转换成大写后输...
#include <stdio.h>
int main(int argc, const char * argv[])
{
printf("请输入一段英文:\n");
char a[100]; //定义一个数组接收字符串
char *p = a; //定义一指针指向数组首元素
gets(a); //输入一句英文
*p -= 32; //将第一个单词变为大写
while(*p != '\0') //循环直到遇到\0
{
if(*p != ' ') //如果不为空格就继续判断
{
p++;
}
else if(*p == ' ') //如果检测到了空格就使下一个字母变为大写
{
p++;
*p -= 32;
}
}
puts(a); //输出a
return 0;
}
我看书上的比这个复杂点。。
作者: tangbinbin 时间: 2015-8-25 15:40
确实这个要简单一点,看起来更容易懂
作者: iphone 时间: 2015-8-25 17:29
但是没有处理,第一个是空格的情况。。。
作者: to_love 时间: 2015-8-25 20:22
*p -= 32,为何是第一个字母?
作者: 15132876050 时间: 2015-8-25 21:23
我的好好看看,,指针哪里没有学好
作者: 翟宇浩 时间: 2015-8-27 21:59
这种写法很明晰
作者: 翟宇浩 时间: 2015-8-27 22:02
这种写法很明晰
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |