#includestdio.h
创新互联是一家集网站建设,贵州企业网站建设,贵州品牌网站建设,网站定制,贵州网站建设报价,网络营销,网络优化,贵州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
#includestring.h
void fun2(char *ss)
{
int i;
for(i=1;istrlen(ss);i+=2)
{
if(ss[i]='a'ss[i]='z')
ss[i]-=32;
}
}
main()
{
char ss[10];//存放字符串你得用数组,用指针的话也得初始化指针地址,类似 int a[10],char *p;p=a这样
gets(ss);
fun2(ss);
puts(ss);
}
对于情况一来说,函数中的c属于int型,返回数据为char型。他们类型不一样。所以不能用c作为返回值。
实现方式如下:
#include stdio.h
void main(void)
{
char i = 0, temp[100];
scanf("%s", temp);
while(temp[i] != '\0') {
if(((temp[i] = 'A') (temp[i] = 'Z')) || ((temp[i] = 'a') (temp[i] = 'z')))
temp[i] ^= 0x20;
i++;
}
printf("\n%s\n", temp);
getch();
}
大写字母的ASCII码从41H开始,小写字母的ASCII码从61H开始,大小写字母ASCII码相差20H。
用逻辑运算:
针对某个字母,“与”上1101 1111,可变换成大写;
针对某个字母,“或”上0010 0000,可变换成小写;
针对某个字母,“异或”上0010 0000,可进行大小写互换。
可以看出,大小写互换,只要一次性“异或0x20”即可,不必先区分大小写。
int main()
{
char say[100]; //数组要指定空间大小才可以用!
scanf("%s", say ); //字符数组,名称就是地址,不需要加
。。。
}
char * mirror( char home[] ) //函数返回类型应该是指针!!
{
int i;
for( i=0; home[i]!='\0';i++ ) //字符数组遍历应该 写成这样,遇结束符结束循环
{
}
}
大小转换,用ascii码的差值进行运算。
函数实现两个主要功能:
一、识别字符串中大写字母。
二、将大写转小写,累计个数并返回。
下面是代码:
#include stdio.h
int C2LC(char str[]);
int main()
{
int n;
char str[100];
scanf("%s",str);
n=C2LC(str);
printf("大写转小写后为:\n%s\n修改的个数为:%d\n",str,n);
return 0;
}
int C2LC(char str[])
{
int n=0;
char *p=str;
while(*p!=0)
{
if(*p='A' *p='Z') *p=*p+32,n++;
p++;
}
return n;
}
strupr
()
原型:extern
char
*strupr(char
*s);
用法:#include
功能:将字符串s转换为大写形式
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。
strlwr
()
原型:extern
char
*strlwr(char
*s);
用法:#include
功能:将字符串s转换为小写形式
说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
注意事项:在linux的编译器中,有可能会编译不通过。
有问题请追问