当前位置:首页 » 编程语言 » c语言原地翻转字符串
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言原地翻转字符串

发布时间: 2022-06-20 09:23:32

A. 求c语言字符串倒置写法

这样改就好了:
void fun(char*s)
{
int i,j=0,n;
char t[100];//t不要和s指向同一个字符串,不然后面的赋值操作有点乱套。
n=strlen(s);
for(i=n-1;i>=0;i--)//i==0的时候也要复制过去。
t[j++]=s[i];
for(i=0;i<n;i++)
s[i]=t[i];
s[++i]='\0';
}

B. 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. C语言 反转字符串

你把char* str="abcdefg";改成charstr[]="abcdefg";

否则str指向的是常量数据区的内存处,值是不能改变的。

D. C语言反转字符串怎么反转

写一个反转字符串的函数,用来处理单个字符串的反转。
在主程序中,拆分每个串,遇到空格时,就调用反转函数对拆分出来的串进行反转

E. 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;
}

两个明显的误解:

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

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

F. C语言 字符串反转代码看不懂! 帮助详细解释,谢谢!!

*p2
=
str-1
while(*++p2);
这两句是为了让指针p2移动到字符结尾,即null字符。其中*p2
=
str-1
是为了配合后一句中while(*++p2)的。因为*++p2是先自增加1。这样当开始执行while(*++p2)是++p2正好指向字符串的第一个字符。
p2
-=1;
这句的意思是,while(*++p2)结束后,p2只需了字符串结尾的null字节,执行p2
-=1后,p2指向了字符串最后一个有效字符(null前面一个字符);
while(p1

评论
0

0

0

加载更多

G. c语言如何实现字符串按位翻转

如果所说的是字符串的反转操作是很方便的,只要使用一个辅助单元就可以实现:
char s[200],i,j,c;
gets(s);
for(j=0;s[j];j++);
for(i=0;i<j;i++,j--)
{c=s[i];s[i]=s[j];s[j]=c;}
puts(s);

H. c语言的问题字符串反转

rever()函数修改如下:

char *rever(char *dest,const char *src)
{
int n = strlen(src)-1;
for (dest += n,*(dest+1)=0;n>=0;dest--,n--)
*dest=*src++;
return dest+1;
}

I. c语言,,反转字符串,没想通这道题的原理sos求救谢谢

程序本身并没有错,你具体可以实际操作一下。这是利用系统栈的方法进行递归的操作,当读到的字符不是回车符的时候就递归调用自己(这次读到的字符会到本次递归返回后再输出),一直读到回车符的时候就不再递归,这时直接返回,然后就把最后一次读到的字符进行输出,然后再次返回就打印倒数第二个读到的字符,照此类推,一直到最前读入的字符,最后进行输出。

J. c语言中,字符反转,怎么做(还没学指针)

你记录两个值:
1、单个字符串的开始和结束
2、比如例子中的I Love You,第一个字符串I开始和结束都是0,就不用换
3、然后到了空格(非字母也一样)也不用管继续往下走
4、到Love就是开始是2,结束时5,就把这个值传给一个交换函数
5、在交换函数中,把2-5 3-4转换,然后继续往下走....
6、这样循环到尾就好了。