
C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其长度
要求用指针方法并不用strlens函数#include<stdio.h>intlongs(char*s){inti=0,n=0;for(i=0;*(s+i)!='/0';...
要求用指针方法并不用strlens函数
#include<stdio.h>
int longs(char *s)
{
int i=0,n=0;
for(i=0;*(s+i)!='/0';i++)
n++;
return(n-1);
}
void main()
{
char *s;
char c[100];
gets(c);
s=c;
longs(*s);
printf("%d",*s);
}
我的编译通过了,但是运行错误 展开
#include<stdio.h>
int longs(char *s)
{
int i=0,n=0;
for(i=0;*(s+i)!='/0';i++)
n++;
return(n-1);
}
void main()
{
char *s;
char c[100];
gets(c);
s=c;
longs(*s);
printf("%d",*s);
}
我的编译通过了,但是运行错误 展开
9个回答
展开全部
传入参数应该是longs(s)不是longs(*s)
*s就是把s位置的字符数值当做地址来处理了。自然出错了。
你试试看
*s就是把s位置的字符数值当做地址来处理了。自然出错了。
你试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
char *s;
char c[100];
gets(c);
s=c;
int n=longs(*s);
printf("%d",n);
}//最后两行修改下试试呢
{
char *s;
char c[100];
gets(c);
s=c;
int n=longs(*s);
printf("%d",n);
}//最后两行修改下试试呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include
<stdio.h>
int
getlen(char
*s)
{
int
c=0;
while(*s)
{s++;c++;}
return
c;
}
/*
way
2
int
getlen(char
s[])
{
int
i;
for(i=0;s[i];i++)
{}
return
i;
}
*/
int
main()
{
char
s[256];
gets(s);
printf("%d\n",getlen(s));
return
0;
}
<stdio.h>
int
getlen(char
*s)
{
int
c=0;
while(*s)
{s++;c++;}
return
c;
}
/*
way
2
int
getlen(char
s[])
{
int
i;
for(i=0;s[i];i++)
{}
return
i;
}
*/
int
main()
{
char
s[256];
gets(s);
printf("%d\n",getlen(s));
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.循环读取,直到为 '\0' 时,则是字符串结尾。
#include <stdio.h>// 计算字符串str长度,并返回int lenstr(const char* str){int i = -1;while (str[++i]); // while循环在 str[++i] 为 '\0' 时结束return i;}int main(){char p[1000];printf("input a string:");gets(p);printf("string len: %d", lenstr(p));return 0;}
#include <stdio.h>// 计算字符串str长度,并返回int lenstr(const char* str){int i = -1;while (str[++i]); // while循环在 str[++i] 为 '\0' 时结束return i;}int main(){char p[1000];printf("input a string:");gets(p);printf("string len: %d", lenstr(p));return 0;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询