不计算函数签名(只是正文)任何人都可以产生比这个函数更短的C代码,它会反转字符串并将结果作为指向反向字符串的指针返回..(不使用字符串反向库函数) ?
char * reverse_str(char * s)
{
char c,*f=s,*p=s;while(*p)p++;while(--p>s){c=*p;*p=*s;*s++=c;}return f;
}
答案 0 :(得分:2)
不会太久,但它确实有效。
#include <string.h>
/* precondition: s!=const && s!=NULL && *s!='\0' */
char *mystrrev(char *s)
{
char *a=s,*e=s+strlen(s)-1;
while( a<e )
{
char c=*a;
*a++=*e;
*e--=c;
}
return s;
}