Arrays 函数使用C计算字符数

Arrays 函数使用C计算字符数,arrays,c,string,function,char,Arrays,C,String,Function,Char,我在C中创建了一个函数,用于计算输入单词中的字符数。 我已经调试了代码,所有变量都工作正常。 但是,当调试代码并尝试使用printf显示结果时,会弹出一个警告窗口,其中显示以下消息:“Program Received Signal SIGSEV,Segmentation Fault”。 请你帮我解决这个问题,这样字符数就可以正确地显示在屏幕上了? 下面是代码。 谢谢 #包括 #包括 int len(char v[]); int main(){ int x=0; chars[512]; print

我在C中创建了一个函数,用于计算输入单词中的字符数。 我已经调试了代码,所有变量都工作正常。 但是,当调试代码并尝试使用printf显示结果时,会弹出一个警告窗口,其中显示以下消息:“Program Received Signal SIGSEV,Segmentation Fault”。 请你帮我解决这个问题,这样字符数就可以正确地显示在屏幕上了? 下面是代码。 谢谢

#包括
#包括
int len(char v[]);
int main(){
int x=0;
chars[512];
printf(“请输入单词:”);
获取(s);
printf(len);;
返回0;
}
整数长度(字符v[]{
charh[512];
int i=0;
而(h[i]=v[i]){
i++;
}
返回i;
}

您缺少格式说明符,行为:
printf(len(s))
。看看你需要哪一个


不过,正如有人指出的那样,这个问题可以更好地解决,因此请思考如何改进您的解决方案。

Enable;查看为什么
printf(len)的所有编译器警告是一个问题。请学习使用调试器。至少,它会立即准确地告诉您哪一行代码触发seg故障。此外,
while(h[i]=v[i])
该语句中的赋值是无意义的,并且可能比必要的开销更大,因为
h
从未实际使用过。可以在(v[i])时执行
避免使用get,请查看原因
#include<stdio.h>
#include<string.h>

int len(char v[]);

int main(){
    int x=0;
    char s[512];
    printf("Please input the word: ");
    gets(s);
    printf(len(s));
    return 0;
}



int len(char v[]){
    char h[512];
    int i=0;
    while(h[i]=v[i]){
        i++;    
    }
return i;

}