写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

#include<stdio.h>
#include<string.h>
int main()
void fun(char *)
{
char *a;
char str[10];
gets(str);
a=str;
fun(a)
printf("%d\n",*a);
}
void fun(char *a)
{
int z;
z=strlen(a);
*a=z;
}
哪里出错了?

#include<stdio.h>
#include<string.h>
int main()
{
int fun(char *); //fun必须要返回字符串的长度
int a; //字符串长度是个整数值
char str[10];
gets(str);
a=fun(str); //用整型变量来接收fun函数的返回值
printf("%d\n",a);
}
int fun(char *a)
{
int z;
z=strlen(a);
return z;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-16
int main()
void fun(char *)//这一句后面要跟一个分号";",而且不能放在这里:要么放在int main()前面,
//要么放在主函数中{后的char *a前面。
{char *a;
char str[10];
gets(str);
a=str;
fun(a);//这里掉了个分号,要加上
printf("%d\n",*a);
}
这样就通过了。只要字符串的长度不超过127,你把测得的长度放在a[0]中的做法是可行的……
相似回答