c語言反轉字元串
㈠ c語言如何實現字元串的反轉
#include<stdio.h>
void reverse(char s[])
{ int i,j;
char c;
for(i=0; s[i]; i++);
for(i--,j=0; j<i;)
{ c=s[j];
s[j++]=s[i];
s[i--]=c;
}
}
int main()
{ char s[200];
gets(s);
reverse(s);
puts(s);
return 0;
}
㈡ C語言字元串逆轉函數
只需要將字元數組的前後數據進行交換就行了。
#include<stdio.h>
#include<string.h>
char*reverse(char*x)
{
inti,tem,len=strlen(x);
intn=len/2;
for(i=0;i<=n;i++)//前後交換數據
{
tem=x[i];
x[i]=x[len-1-i];
x[len-1-i]=tem;
}
returnx;
}
intmain()
{
charp[]="abcdefghijk";
printf("relust=%s ",reverse(p));
return0;
}
㈢ C語言 字元串反轉函數(不使用庫函數)
char *revstr(char *str, size_t len)
{
char *start = str;
char *end = str + len - 1;
char ch;
if (str != NULL)
{
while (start < end)
{
ch = *start;
*start++ = *end;
*end-- = ch;
}
}
return str;
}
㈣ C語言中如何實現字元串的反轉
#include<stdio.h>
#include<string.h>
string_change(char*p)
{
inti,len;
chartemp;
len=strlen(p);
//printf("%d ",len);
//testprintf("%d ",len);
for(i=0;i<(len/2);i++)
{
temp=p[i];
p[i]=p[len-1-i];
p[len-1-i]=temp;
}
}
intmain(void)
{
chara[20]="1234567890";
printf("%s ",a);
string_change(a);
printf("%s ",a);
return0;
}
兩個明顯的誤解:
char* a="12***"; 這樣定義是錯誤的。這樣 a指向字元串常量的指針。而字元串常量是不能改變的。所以停止運行。
c中數組是從0開始編號的。所以字元串最後一個字元是a[len-1];
㈤ c語言如何實現字元串按位翻轉
字元串按位翻轉可以通過對每個字元按位翻轉實現,首先通過指針偏移或數組下標依次取出字元,然後對單個字元做按位非操作,即~
㈥ 如何用C語言將字元串逆序輸出
C語言程序如下:
#include<stdio.h>
#include<string.h>
main()
{
int i,j,t,n;
char a[10];
printf("請輸入字元串:");
gets(a);
n=strlen(a);
for(i=0;i<=n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
for(j=0;j<n;j++)
printf("%c",a[j]);
printf(" ");
}
(6)c語言反轉字元串擴展閱讀:
字元串倒序輸出的五種方法
1、使用數組循環
2、StringBuffer的reverse方法
3、StringBuffer的循環
4、棧的後進先出
5、迭代完成