这个程序有什么问题?

Raj*_*nEy -3 c runtime

#include <stdio.h>
#include<string.h>
int main() {
    char * a;
    int b[26] = {
        0
    };
    long r = 0;
    scanf("%s", a);
    int j = strlen(a);
    for (int i = 0; i < j; i++) {
        b[a[i] - 'a'] += 1;
    }
    for (int i = 0; i < 26; i++) {
        if ((b[i] / 2) * 2 == b[i])
            r += b[i] / 2;
        else
            r += (b[i] + 1) / 2;
    }
    printf("%ld", r);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输入 - ssss

这个程序在我的笔记本电脑上的DEV c ++编译器工作正常..但是当我在ideone.com或任何其他在线编译器上运行它给出RUNTIME ERROR时,请告诉我这个程序有什么问题

Rag*_*ddy 5

您没有为此分配内存a并执行操作.

为...分配内存 char* a;

或者你也可以像你一样把它a作为一个char数组b