C语言用指针 输出相反的字符串并判断是否有标点符号,该怎么处理

C语言用指针 输出相反的字符串并判断是否有标点符号
C语言用指针 输出相反的字符串并判断是否有标点符号 有标点符号就删除不出输

------解决方案--------------------
C/C++ code

#include <stdio.h>
#include <stdlib.h>
void reverserPrint(char *str)
{
    if(*str)
        reverserPrint(str + 1);
        if(不是标点符号)
            printf("%c", *str);
}
int main()
{
    char *str = "abcd";
    reverserPrint(str);
    system("pause");
    return 0;
}

------解决方案--------------------
if(*str)应该是if(str && *str)吧
------解决方案--------------------
C/C++ code

void ReverseStr(const char *str)
{
    int len = strlen(str);
    const char *p = str + len -1;
    for (; p >= str; --p)
    {
        if(!ispunct(*p))
            printf("%c",*p);
        else
            continue;
    }
    printf("\n");
}

------解决方案--------------------
探讨

C/C++ code

void ReverseStr(const char *str)
{
int len = strlen(str);
const char *p = str + len -1;
for (; p >= str; --p)
{
if(!ispunct(*p))
printf("%c",*p);
……