网站建设资讯

NEWS

网站建设资讯

c语言中字符串反转函数,c语言字符串的反转

c语言的问题字符串反转

因为你在dest++时,改变了dest的指向的位置,所以没有输出正确的结果。

创新互联公司主要从事网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务贵定,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

按照你的程序给你修改了一下,请参考。

1 #include stdio.h

2 #include string.h

#include malloc.h // 注意这里:增加使用malloc的头文件,消除warning

3 main()

4 {

5 char *a = "abc";

6 char *rever(char *dest,const char *src);

7 char *b = (void *)malloc(strlen(a)+1);

memset(b, 0x00, sizeof(strlen(a)+1)); // 注意这里:对malloc的buf进行初始化

8 printf("%s\n", rever(b,a));

9 }

10 char *rever(char *dest,const char *src)

11 {

12 int n;

char *temp = dest; // 注意这里:用来记录dest的初始地址

13 for (n = strlen(src)-1;n=0;dest++,n--)

14 *dest = *(src+n);

15 return temp; // 注意这里:返回dest字符串的首地址

16 }

程序给你测试通过。

C语言字符串逆转函数

只需要将字符数组的前后数据进行交换就行了。

#include stdio.h

#include string.h

char* reverse(char *x)

{

int i, tem, len = strlen(x);

int n = len / 2;

for (i = 0; i = n; i++)  // 前后交换数据

{

tem = x[i];

x[i] = x[len - 1 - i];

x[len - 1 - i] = tem;

}

return x;

}

int main()

{

char p[] = "abcdefghijk";

printf("relust = %s\n", reverse(p));

return 0;

}

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语言反转字符串怎么反转?

读取字符串,浏览字符串每一个字符,

如果是空格就输出空格,

否则就保存当前位置,从当前位置移动到下一个空格或字符尾前,

从当前位置开始反向输出,直达回到保存的位置

最后输出回车,结束

//以下是C语言版的,需要的话,可以看看

#includestdio.h

#includestdlib.h

#includestring.h

#define String_MaxSize 10000 //读入字符串的最大长度

int main()

{

char stringPtr[String_MaxSize]; //保存读入的字符串

//循环读取直到文件尾

while(gets(stringPtr))

{

int stringPtr_length = strlen(stringPtr); //字符串的长度

int i;

//循环读取整段字符串

for(i = 0; i stringPtr_length; i++)

{

//如果字符为空格

if(stringPtr[i] == ' ')

{

//直接输出空格

printf(" ");

}

//如果字符非空格

else

{

int tempPos = i; //保存当前i的位置

int j; //代替i进行反向移动

//读取到下一个空格或字符串尾的前一个位置

while(i stringPtr_length stringPtr[i] != ' ')

{

i++;

}

i--;

//输出单词

for(j = i; j = tempPos; j--)

{

putchar(stringPtr[j]);

}

}

}

//输出回车

printf("\n");

}

//输出回车

printf("\n");

return 0;

}

C语言中如何实现字符串的反转?

#includestdio.h

#includestring.h

string_change(char * p)

{

int i,len;

char temp;

len = strlen(p);

//printf("%d \n", len);

//test printf("%d\n",len);

for(i=0; i(len/2); i++)

{

temp = p[i];

p[i] = p[len-1-i];

p[len-1-i] = temp; 

}

}

int main(void)

{

char a[20] = "1234567890";

printf("%s\n",a);

string_change(a);

printf("%s\n",a);

return 0;

}

两个明显的误解:

char* a="12***"; 这样定义是错误的。这样 a指向字符串常量的指针。而字符串常量是不能改变的。所以停止运行。

c中数组是从0开始编号的。所以字符串最后一个字符是a[len-1];


文章标题:c语言中字符串反转函数,c语言字符串的反转
链接分享:http://cdweb.net/article/dsesjci.html