c语言计算字符串的长度(用指针)

写一个函数、计算字符串的长度。在mian中输入一个字符串并计算它的长度!要求:用指针实现!... 写一个函数、计算字符串的长度。在mian中输入一个字符串并计算它的长度!要求:用指针实现! 展开
 我来答
问明6E
高粉答主

2019-05-27 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:13万
展开全部

#include<cstdio>

int main()

{

char s[20];

char*p;

printf("please input a string(less than 20 character):\n");

//scanf("%s",s);不能读入空格

gets(s);

p=s;

while(*p!='\0')

p++;

printf("The string lenth is%d\n",p-s);

return 0;

}

printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

int a=1234;

printf("a=%d\n",a);

输出结果为a=1234。

扩展资料:

main()函数的可以包括两个参数

第一个参数的类型为int型;

第二个参数为字符串数组。

通常情况下,将第一个参数命名为argc,第二个参数为argv(当然参数名字可以换)。由于字符串数组有两种表达方式,因此,main函数存在两种书写方法:

1、形式一:

int main(int argc,char*argv[])//这里使用char*argv[]

{

return 0;

}

2、形式二:

int main(int argc,char**argv)//这里使用char**argv

{

return 0;

}

使用方法

参数的含义

int argc:表示字符串的数量argc=1+用户输入的字符串数目,操作系统负责计算数量,程序员不用管,只需要正确使用即可,例如用户输入2个字符串,argc=1+2=3;

char*argv[]:字符串的数组,即多个字符串,形式如下:

argv[0]=可执行文件名称,例如test.exe(非用户输入,操作系统根据可执行文件名称自动生成)

argv[1]=字符串1

argv[2]=字符串2

argv[3]=字符串3

qscorpius_fly
推荐于2017-05-21 · TA获得超过1861个赞
知道小有建树答主
回答量:811
采纳率:80%
帮助的人:318万
展开全部
#include <stdio.h>
int str_len(char *s)
{
    int len=0;
    while(*s!='\0')
    {
        len++;
        s++;
    }
    return len;
}
int main()
{
    char str[100];
    printf("请输入字符串:");
    gets(str);
    printf("字符串长度为:%d\n",str_len(str));
    return 0;
}
追问
万一我要是输入100个以上呢?能不能搞个动态的?
追答
#include 
#include
int str_len(char *s)
{
int len=0;
while(*s!='\0')
{
len++;
s++;
}
return len;
}
int main()
{
char *str;
str=(char *)malloc(1000);//分配1000个字节单元

printf("请输入字符串:");
gets(str);
printf("字符串长度为:%d\n",str_len(str));
free(str);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梓儿nice
2019-12-20 · TA获得超过4001个赞
知道答主
回答量:3795
采纳率:6%
帮助的人:202万
展开全部
“#include<cstdio> int main() { char s[20]; char*p; printf("please input a string(less than 20 character):\n"); //scanf("%s",s);不能读入空格 gets(s)...”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cw201002
2014-06-26 · 超过31用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:71.4万
展开全部
int strlen(char *s)
{
int i=0;
while(*s!='\0')
{
i++;
s++;
}
return i;
}

void main()
{
char *str;
int len;
printf("please input your string:");
gets(str);
len=strlen(str);
printf("the length of str is:%d\n",len);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周生008
2014-06-26 · TA获得超过1222个赞
知道小有建树答主
回答量:1329
采纳率:0%
帮助的人:647万
展开全部
#include<string.h>
...
strlen
...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式