请写一下注释,主要是定义的函数的注释,有点不好理解,请详细一些

该代码是进行账单处理,输出总花费。
1、指针那一块不太明白什么意思
2、第26行单引号里的' '为什么不能换成'\0'?
3、p是一个指针,第26行让指针p等于后面找到空格的地址有何用处?

img

  1. strrchr() 的功能是什么? 请你说一下。

供参考:

//函数原型:char *strrchr(char *str, char c);

//功能为查找str中最后一次出现c的位置,如有有,则返回出现位置,否则返回NULL。实现如下:
  
char *strrchr(char *str, char c)
{
  char *p=str+strlen(str);//p指向最后一个字符
  while(p != str && *p != c)  p--;
  if(p == str && *p != c)
      return NULL;
  else
        return p;
}