pointer on C programming exercise P6.18 Q3

来源:互联网 发布:域名和服务器的关系 编辑:程序博客网 时间:2024/05/21 08:41
/****************************************file name: main.c*function: test invertsion of string using pointer****************************************//****************************************include files****************************************/#include "stdio.h"/****************************************function declaration****************************************/void reverse_string(char *source);/****************************************function realization****************************************/int main(void){    char *ppStr[] =     {        "abcdef",              // 0        "123ttyAgM88,-=+...",  // 1        ",,..;;'']][[==\\",    // 2        NULL                   // 3    };        //normal test    printf("before inversion: %s\n", ppStr[0]);    reverse_string(ppStr[0]);    printf("after inversion: %s\n\n", ppStr[0]);    printf("before inversion: %s\n", ppStr[1]);    reverse_string(ppStr[1]);    printf("after inversion: %s\n\n", ppStr[1]);    printf("before inversion: %s\n", ppStr[2]);    reverse_string(ppStr[2]);    printf("after inversion: %s\n\n", ppStr[2]);    printf("before inversion: %s\n", ppStr[3]);    reverse_string(ppStr[3]);    printf("after inversion: %s\n\n", ppStr[3]);    return 0;}/****************************************name: reverse_string*function: reverse string****************************************/void reverse_string(char *pSource){    char *pFront = NULL;  // pointer to front    char *pBack  = NULL;  // pointer to back    char  bTemp;          // char variable        //check parameter    if((NULL == pSource) || (NULL == *pSource))    {        return;    }        //inter loops tracks source string    pFront = pSource;    pBack  = pSource;    while('\0' != *pBack++);    pBack  -= 2;    while(pFront < pBack)    {        bTemp   = *pFront;        *pFront = *pBack;        *pBack  = bTemp;        pFront++;        pBack--;    }    return;}

0 0
原创粉丝点击