去除字符串中的空格

用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数。不允许开辟新的空间,只能申请简单类型的自动变量。时间复杂度要求为O(n)。

#include <bitset>
#include<iostream>
int deleteSpace(char * pstr);
void main()
{
    char word[]="dhkak df d fd   fdjfkda  dfd ff  f fd da ";
    deleteSpace(word);
    std::cout<<word<<std::endl;
}

int deleteSpace(char *pstr)
{
    int newLen = strlen(pstr);
    char *p,*q;
    p=pstr;
    while(*p!=' ') p++;
    q=p;
    while(1)
    {
        while(*q==' ') 
        {
            q++; 
            if (*q=='