今天在学习C语言时,看到了一题让把字符串先倒序储存再输出的函数。
倒序输出很简单,只要找到字符串的末尾再把它打印出来就好了,可是现在要求先储存,所以要把第一个元素和最后一个交换,第二个和倒数第二个元素交换等等。
为了省事情我使用了指针,下面我附上我的代码。
#include <stdio.h>
int Strlen(const char *str)
{
int len;
len = 0;
while(*str++)
{
++len;
}
return len;
}
int main()
{
char str[20];
char *p;
char temp;
int i;
int m;
printf("please input the string!\n");
scanf("%s",str);
p = str;
m = Strlen(str);
for(i = 0; i < m/2; i++)
{
temp = *(p +(m-1) - i);
*(p + (m-1)-i) = *(p +i);
*(p+i) = temp;
}
printf("%s\n",str);
return 0;
}
下面附上我的运行截图