上次有个同事说面试的时候有这样一个上机题,就是把一个句子中的单词逆序输出,应该考的就是字符数组的操作,闲来没事自己把这个小程序写了一遍。
#include "Function.h"
#define MAX_CHAR_NUM 255
/************************************************************************/
/* Function:将英文句子中的单词反转输出,如'hello world' 反转后'world hello';
/* 注:如果输入语句的前后都有空格,则空格也会在语句中反转如' hello world' 翻转后'world hello '
/* Parameter: *pInputSentence将要被反转的句子,支持最大长度为255个字节
/* Return: char* 反转后的字符串
/************************************************************************/
char* ReverseWord(char *pInputSentence)
{
if (NULL == pInputSentence)
{
return NULL;
}
int len = strlen(pInputSentence); //获取输入字符串的长度
if (MAX_CHAR_NUM - 1 < len) //转换最大支持数
{
return NULL;
}
int index[MAX_CHAR_NUM]; //用来保存空格与字符转变的位置
char pOutputSentence[MAX_CHAR_NUM] = {0};
int ibegin = 0; //空格与字符转变的次数
index[0] = 0; //记录输入字符串的第一个