昨天又去笔试了一家公司,其中有一道题目:逆序打印一个字符串,如“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; }