Closed. This question is off-topic. It is not currently accepting answers. Learn more。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
6年前关闭。
请你一步一步地向我解释一下这个C程序使用指针反转字符串的算法好吗?
实际上相当直截了当。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
6年前关闭。
请你一步一步地向我解释一下这个C程序使用指针反转字符串的算法好吗?
#include <stdio.h>
int main()
{
char str[50];
char rev[50];
char *sptr = str;
char *rptr = rev;
int i=-1;
printf("Enter any string : ");
scanf("%s",str);
while(*sptr)
{
sptr++;
i++;
}
while(i>=0)
{
sptr--;
*rptr = *sptr;
rptr++;
--i;
}
*rptr='\0';
printf("Reverse of string is : %s",rev);
return 0;
}
最佳答案
魔法就在这个循环中:
while(i>=0) // while there are more letters... (i was previously set to the number of letters)
{
sptr--; // decrement source pointer (points to end of source string
*rptr = *sptr; // copy char
rptr++; // increment target pointer
--i; // decrement number of chars remaining
}
实际上相当直截了当。
关于c - 这个C程序如何使用指针反转字符串? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19727650/
10-11 16:38