Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个程序有什么问题? #包括 #包括 int main(){ char*a; int b[26]={ 0 }; 长r=0; scanf(“%s”,a); int j=斯特伦(a); 对于(int i=0;i_C_Runtime - Fatal编程技术网

这个程序有什么问题? #包括 #包括 int main(){ char*a; int b[26]={ 0 }; 长r=0; scanf(“%s”,a); int j=斯特伦(a); 对于(int i=0;i

这个程序有什么问题? #包括 #包括 int main(){ char*a; int b[26]={ 0 }; 长r=0; scanf(“%s”,a); int j=斯特伦(a); 对于(int i=0;i,c,runtime,C,Runtime,输入- ssss 这个程序在DeV C++编译器上的笔记本上运行良好。 但是当我在ideone.com或任何其他在线编译器上运行它时,它会出现运行时错误,请告诉我这个程序有什么问题您没有为a分配内存并对其执行操作 为char*a分配内存 或者您也可以将a作为字符数组,就像您为b所做的那样,您还没有为a分配任何内存。通过执行char a[]静态地为char*a分配内存或使用函数动态执行。当你给出这样的东西时char*a表示它是指向字符类型数据的指针。这里,“a”是指向需要分配的内存位置的指针 为c

输入- ssss

这个程序在DeV C++编译器上的笔记本上运行良好。
但是当我在ideone.com或任何其他在线编译器上运行它时,它会出现运行时错误,请告诉我这个程序有什么问题

您没有为
a
分配内存并对其执行操作

char*a分配内存


或者您也可以将
a
作为字符数组,就像您为
b
所做的那样,您还没有为
a
分配任何内存。通过执行
char a[]静态地为
char*a
分配内存或使用函数动态执行。

当你给出这样的东西时
char*a表示它是指向字符类型数据的指针。这里,“a”是指向需要分配的内存位置的指针


char*a
分配内存,比如
a=malloc(20)
或者您可以直接使用数组
char a[20]
。它解决了你的问题。

首先决定这是C还是C++,选择合适的标签。
#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;
}