PTA 1009题,说反话,为什么程序无法运行?


#include<stdio.h>
#include<assert.h>
int reverse_str(char *start, char *end)                   //定义逆置字符串函数
{
    char temp ;
    assert(start );
    assert(end );
    while (start<end)
    {
        temp = *start;
        *start = *end;
        *end = temp;
        start++;
        end--;
    }
}
char * Get_Reverse(char arr[], int len)              //逆置字符数组内容的实现
{
    char *Pchar = arr;
    char *left = NULL;
    char *right = NULL;
    int WordStart = 0;
    int WordEnd = -2;
    int i = 0;
    left = arr;
    right = arr + len - 2;
    reverse_str(left, right);
    for ( i = 0; i < len; i++)
    {
        if(arr[i]==' '||arr[i]=='\0')
        {
            WordStart = WordEnd + 2;
            WordEnd = i - 1;
            reverse_str(arr+WordStart, arr+WordEnd);
        }
    }
    return Pchar;
}
int main()
{
char arr[100];
    for(int i=0;i<100;i++)
        scanf("%c",&arr[i]);
    int length = 0;
    char *p = NULL;
    length = sizeof(arr) / sizeof(arr[0]);
    p = Get_Reverse(arr, length);
    printf("%s", p);
}


感觉问题就出现在


```c
char arr[100];
    for(int i=0;i<100;i++)
        scanf("%c",&arr[i]);

但我实在没找到问题在哪

错误信息是什么?