3
#include<conio.h>
#include<stdio.h>
int main(void)
{
char str[20];
char *ptr1,*ptr2;
printf("Enter string\n");
gets(str);
ptr1,ptr2=&str[0];
while(*ptr2!='\0')
{
ptr2++;
}
ptr2--;
printf("rev_string =");
while(ptr1!=ptr2) //this should work for when strlen=odd integer
{
int temp=*ptr2;
*ptr2=*ptr1;
*ptr1=temp;
ptr1++;
ptr2--;
}
puts(str);
return 0;
}
什么错我的代码?我知道我已经投入了while循环condtion是不是要去工作时的字符串的长度是偶数,但它扭转一个字符串就地应该适用于奇怪的情况。尝试使用两个指针
是的,我已经提到,条件(PTR1!= PTR2)不是连长度会工作字符串,但它应该适用于奇数,只是想知道为什么它也不适用于奇数长度。 –
@Peince Vijay Pratap查看我更新的帖子。 –
你能告诉我为什么你这样做吗? if(ptr2!= str && *(ptr2 - 1)=='\ n')* - ptr2 ='\ 0'; –