昨天又去笔试了一家公司,其中有一道题目:逆序打印一个字符串,如“Hello”打印成“olleH”
当时我直接第一个放最后一个,回来看了这篇文章:http://www.cnblogs.com/graphics/archive/2011/03/09/1977717.html,才知道忽略了一个重要问题就是字符串后面还有'\0',记之,以勉之;
#include "stdafx.h"
char* Reverse(char* s)
{
char* p=s;
char* q=s;
while(*q)
++q;
q--;
while (q>p)
{
char t;
t=*p;
*p++=*q;
*q--=t;
}
return s;
}
int main(int argc, char* argv[])
{
char s[20]="Hello OK!";
Reverse(s);
printf(s);
//printf("Hello World!\n");
return 0;
}