黑马程序员技术交流社区
标题:
关于基础测试中将英文句子首字母变成大写字母的问题
[打印本页]
作者:
李国华
时间:
2015-3-17 20:05
标题:
关于基础测试中将英文句子首字母变成大写字母的问题
网上的基本上是用数组的基本方法做的,因为指针学的不好,所以强行自己用指针,能运行,但不知有哪些可改进的地方,请大神指导一下
#include <stdio.h>
#include <ctype.h>
int main() {
//定义数组
char s[100];
//定义指针p指向字符数组
char *p=(char*)s;
int i;
printf("请输入英文句子");
//输入英文句子
gets(s);
for(i=0;*(p+i)!='\0';i++)
{
*p=toupper(*p);
//判断是否为空字符
if(*(p+i)==' ')
*(p+i+1)=toupper(*(p+i+1));
}
//打印改变后的字符串
for(i=0;*(p+i)!='\0';i++)
{
printf("%c",*(p+i));
}
return 0;
}
复制代码
多谢啦
作者:
hellooc
时间:
2015-3-17 21:10
打印字符串可以用%s
作者:
仰望的繁华
时间:
2015-3-17 22:24
空字符的下一位 一定大写? 空格后面还是空格呢 ??
作者:
粘糊浆
时间:
2015-3-18 01:23
如上!~~~~~~~~~~~~
作者:
李国华
时间:
2015-3-18 07:44
仰望的繁华 发表于 2015-3-17 22:24
空字符的下一位 一定大写? 空格后面还是空格呢 ??
对哈,要加判断,谢谢啦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2