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