#include
int main()
{
int slen(char x[],int n);
int s ; char a[10];
printf("输入你的字符:\n");
gets (a);
s=slen(a,10);
printf("字符长度是=%d\n",s);
return 0;
}
int slen(char x[],int n)
{int i,j=0,m=n;
for(i=0;i<m;i++)
while(x[i]!='\0')
{j++;}
return(j);
}
int slen(char x[],int n) {
int i,j=0,m=n;
for(i=0;i<m;i++)
if(x[i]!='\0') { j++; }
return(j);
}
slen函数中,while部分进去后就是个死循环。改为下面即可
for(i = 0; i < m && x[i] != '\0';i++)
j++;
你的slen函数里面for(i=0;i<m;i++)
while(x[i]!='\0')
{j++;}是你漏括号了还是怎么,for和while用一个就行了!
int slen(char x[])
{
int j = 0;
while(x[j++]!='\0');
return j-1;
}
int main()
{
int s ; char a[10];
printf("输入你的字符:\n");
gets (a);
aa:
s=slen(a);
printf("字符长度是=%d\n",s);
gets (a);
goto aa;
return 0;
}