—–字符串的逆序—–
int main(void)
{
//字符串的逆序
char string[100]="hello wrold";
//先计算字符串的长度
int lenth=0;
while(string[lenth++]);
lenth--;//减去最后一次的自增
printf("%d\n",lenth);
int min=0;
int max=lenth;
while(min<max){
char temp=string[min];
printf("%c\n",temp);
string[min]=string[max-1];
string[max-1]=temp;
min++;
max--;
}
printf("%s\n",string);
return 0;
}
运行效果图如上。
混合字符串的长度,注意在GBK和UTF的区别,
int main()
{
//统计混合字符串的长度
//主要关键点:GBK 是2个字节存储一个汉字
//UTF-8,3个字节存储一个汉字
char string[100]="hello你好abc";
int i=0;
int size=0;
while(string[i])
{
if(string[i]<0)
{//汉字的第一个字节是负数,汉字占用两个字节,就自增
i++;
//utf-8的时候i+=2; 比如linux系统
};
i++;
size++;
};
printf("szie=%d\n",--size);//最后多余一次自增L
return 0;
}
祛除字符串后面多余的空格
int main()
{
//祛除字符串后面对于的空格
char string[100]="hello wrold, ";
//关键点,字符串内存中以0结尾
printf("%s\n",string);
int lenth=0;
while(string[lenth++]);
printf("size=%d\n",--lenth);
//求出长度是20;
while(string[lenth--])
{
char c=string[lenth];
if(c!=' ')
{
string[lenth+1]='0';
};
};
printf("%s\n",string);
return 0;
}