#include
int sn(char *a)
{
int i=0;
while(*a++)
i++;
return i;
}
void main()
{
int sum;
char a[100];
scanf("%s",a);
sum=sn(a);
printf("\n");
printf("%d\n",sum);
}
#include
#include
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;
}
a[50]=getchar();
getchar()只是获取一个字符,你这样写就是读取字符串的第一个字符并放入a[50]这个单元,不但获取不了字符串,还造成了数组越界访问
直接用
int strlen(char *)
就可以了啊!!!
for(p=a,n=0;p='\0';p++)
p='\0'改成*p='\0'