整型指针类型不能被赋值为整型指针类型?

时间:2021-01-23 08:23:04

标签: c types

histogram 返回值的函数是 int - 指针类型。
所以总的来说,我是这样制作的。

 for(int i=0;i<n;i++){
    
    int* transform[i] = histogram(names[i]);

}

左项是整数指针类型,右项是整数指针类型。 但编译器显示此错误。

error ;可变大小的对象可能未初始化。
我认为直方图的返回值是地址的值。我想将它分配给“int* type”transform[i].
例如,
变换[0] = "地址值"
变换[1] = "地址值"
变换[2] = "地址值"....

这是错误的吗? 为什么我错了?

enter code here
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int input_strings(int arraySize);
int similar_strings();
int* histogram(char str[100]);


int main()
{   
int arraySize;

scanf("%d",&arraySize);
char * names[arraySize];
char buffer[30];
int n = 0;
int l = 0;

while ( n < arraySize ) {
    scanf("%s", buffer);

    l = strlen(buffer);
    if (l > 0){
        char* newstrptr = (char*)malloc(sizeof(char) * (l + 1));
        strcpy(newstrptr, buffer);
         names[n] =  newstrptr;
        n++;
    } else {
        break;
    }
}

for(int i=0;i<n;i++){

    int* transform[i] = histogram(names[i]);

}

return 0;

}





int* histogram(char str[100])
{
int len;
int cnt[26] = { 0 };
int i, j;
len = strlen(str);
for (i = 0; i < len; i++){
    if ((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z')){
        if (str[i] <= 'Z')
            cnt[str[i] - 'A']++;
        else
            cnt[str[i] - 'a']++;
    }
}
for (i = 0; i < 26; i++)
     if (cnt[i])
    {
        printf("%c : ", 'A' + i);
        for (j = 0; j < cnt[i]; j++)
            printf("*");
            printf("\n");
    }

int* histo = cnt;
printf("analyzing one word finished.\n");
return histo;
 }

0 个答案:

没有答案
相关问题