#includestdio.h
創(chuàng)新互聯是一家集網站建設,貴州企業(yè)網站建設,貴州品牌網站建設,網站定制,貴州網站建設報價,網絡營銷,網絡優(yōu)化,貴州網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
#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”即可,不必先區(qū)分大小寫。
int?main()
{
char?say[100];?//數組要指定空間大小才可以用!
scanf("%s",?say?);?//字符數組,名稱就是地址,不需要加
。。。
}
char?*?mirror(?char?home[]?)?//函數返回類型應該是指針!!
{
int?i;
for(?i=0;?home[i]!='\0';i++?)?//字符數組遍歷應該?寫成這樣,遇結束符結束循環(huán)
{
}
}
大小轉換,用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的編譯器中,有可能會編譯不通過。
有問題請追問