c语言计算字符串的长度(用指针)
#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
#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;
}
{
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);
}
...
strlen
...