#include <iostream.h>
#include <string.h>
#include "strrev.h"
char* strReverse(char * str);
char * strCat(char * strDest, char * strSrc);
int dg(int n);
int main()
{
char str[30 + 1] = {0};//系统开辟31个
strncpy(str,"i am ",30);
strCat(str, "WuHansen!");
cout<<strReverse(str);
cout<<"/n";
cout<<dg(3);
return 0;
}
// char* strReverse(char * str)
// {
//
// strrev(str);
//
// return str;
// }
//字符串反转
char * strReverse(char * str)
{
int iLen = 0;
iLen = strlen(str);
char tmpChar = '0';
for (int i = 0; i < iLen/2; i++)
{
tmpChar = str[iLen - i - 1];
str[iLen - i - 1] = str[i];
str[i] = tmpChar;
}
return str;
}
//字符串连接(未考虑过写)
char * strCat(char * strDest, char * strSrc)
{
while (*strDest) //如果*strDest不为空,指针地址加1,直到找到字符串末尾的/0
{
strDest++;
}
while (*strDest++ = *strSrc++);
return strDest;
}
//递归计算10阶乘10!
int dg(int n)
{
if (1 == n)
{
return 1;
}
return dg(n-1) * n;
}