C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其长度

C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其长度,第1张

#include<iostream>

using namespace std; 

int main()

{

int character(char a); 

char a[20]; 

int length;

cout<<"请输入一个字符串:"<<endl; 

cin>>a; 

length=character(a); 

cout<<"字符串长度为:"<<length<<endl; 

return 0;

}

扩展资料:

return用法:

在C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值

1、C

在C89中,main()是可以接受的。Brian WKernighan和Dennis MRitchie的经典巨著The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:

int main(void)

int main(int argc,charargv[])

当然,我也可以做一点小小的改动。例如:charargv[]可以写成charargv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。

如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,charargv[])。

main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如 *** 作系统)。

如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。

注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc32(Linux下的C编译器)会在生成的目标文件中加入return 0;。

2、C++

C++98中定义了如下两种main函数的定义方式:

int main()

int main(int argc,charargv[])

int main()等同于C99中的int main(void);int main(int argc,charargv[])的用法也和C99中定义的一样。同样,main函数的返回值类型也必须是int。

如果main函数的末尾没写return语句,C++98规定编译器要自动在生成的目标文件中加入return 0;。同样,vc6也不支持这个特性,但是g++32(Linux下的C++编译器)支持。

参考资料:

——return

#include<iostream>

using namespace std; 

int main()

{

int character(char a); 

char a[20]; 

int length;

cout<<"请输入一个字符串:"<<endl; 

cin>>a; 

length=character(a); 

cout<<"字符串长度为:"<<length<<endl; 

return 0;

}

扩展资料:

return用法:

在C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值

1、C

在C89中,main()是可以接受的。Brian WKernighan和Dennis MRitchie的经典巨著The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:

int main(void)

int main(int argc,charargv[])

当然,我也可以做一点小小的改动。例如:charargv[]可以写成charargv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。

如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,charargv[])。

main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如 *** 作系统)。

如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。

注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc32(Linux下的C编译器)会在生成的目标文件中加入return 0;。

2、C++

C++98中定义了如下两种main函数的定义方式:

int main()

int main(int argc,charargv[])

int main()等同于C99中的int main(void);int main(int argc,charargv[])的用法也和C99中定义的一样。同样,main函数的返回值类型也必须是int。

如果main函数的末尾没写return语句,C++98规定编译器要自动在生成的目标文件中加入return 0;。同样,vc6也不支持这个特性,但是g++32(Linux下的C++编译器)支持。

参考资料:

——return

C语言中字符串长度的函数是strlen(),一个字符的长度为1;

函数原型:

unsigned int strlen (char s);头文件:

#include <stringh>参数说明:s为指定的字符串;

功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\0';

返回值:返回字符串s 的字符数;

注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。

示例:

#include<stdioh>#include<stringh>int main(){ char str[] = "ab\nxyz";//\n为回车字符,占一个字节 printf("strlen(str)=%d\n", strlen(str)); return 0;}//输出结果:strlen(str)=6 收起

方法一:数组方式

代码如下:

&lt;span style="font-size:18px;"&gt;#include&lt;stdioh&gt;

#include&lt;asserth&gt;

int my_strlen(char conststr)

{

int count=0;

assert(str);//断言,判断指针的有效性

while(str++!=NULL)

{

count++;

}

return count;

}

int main()

{

char arr[30]="trouble is a friend";

printf("%d\n",my_strlen(arr));

getchar();

return 0;

}&lt;/span&gt;

运行结果:

方法二:指针方式

说明:当两个指针都指向同一个数组中的元素,指针减指针就是指针与指针之间元素的个数;两个地址相加没有实际意义。

代码如下:

&lt;span style="font-size:18px;"&gt;#include&lt;stdioh&gt;

int my_strlen(char conststr)

{

char consttmp=str;

while(str!='\0')

{

str++;

}

return str-tmp;

}

int main()

{

char arr[30]="trouble is a friend";

printf("%d\n",my_strlen(arr));

getchar();

return 0;

}&lt;/span&gt;

len字符串长度怎么算的步骤如下:

1、Excel中计算文本字符串的长度需要用到Len函数。

2、Len函数的使用格式为:=LEN(text)。

3、其中,参数text表示要统计的文本字符串。

4、LEN函数要统计时,无论中全角字符,还是半角字符,每个字符均计为“1”;与之相对应的一个函数——LENB,在统计时半角字符计为“1”,全角字符计为“2”。

5、输入公式:=len(C11)来计算C11单元格文本的字符串长度。

6、确认函数后,按下enter键,结果显示,即样例单元格C11文本的字符串长度。

通常有两种办法:

其一,是利用系统函数strlen(),需包含头文件stringh

#include<stdioh>#include<stringh>int main(){int n; char a[100]; scanf("%s",a); n=strlen(a); printf("串长为%d",n); return 0;} 其二,是检测'\0'的位置:#include<stdioh>int main(){int n; char a[100]; scanf("%s",a); for(n=0;s[n]!='\0';n++); printf("串长为%d",n); return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13492963.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存