#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;
}
输入- ssss
这个程序在我的笔记本电脑上使用 DEV c++ 编译器运行良好.. 但是当我在 ideone.com 或任何其他在线编译器上运行它时,它会给出运行时错误,请告诉我这个程序有什么问题
最佳答案
您没有为a
分配内存并对其执行操作。
为char* a;
分配内存
或者您也可以将 a
作为 char 数组,就像您对 b
所做的那样
关于c - 这个程序有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33383390/