c语言中字符串的长度是如何计算的?

Python010

c语言中字符串的长度是如何计算的?,第1张

可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。

字符串实际长度可以用strlen函数来计算。

方法程序如下:

#include<stdio.h>

#include<string.h>

main()

{char a[10]int i,j

scanf("%s",a)

j=strlen(a)

for(i=j-1i>=0i--)

printf("%c",a[i])

printf("\n")}

扩展资料:

C语言高效编程技巧:

一:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题

二:数学方法解决问题

数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。

三:使用位操作

实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。

在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。

参考资料来源:百度百科-C语言

C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符。

其长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身。

要获得字符串长度,有两种方法可以使用:

1

使用库函数strlen()。

strlen声明在string.h中,原型为

int

strlen(char

*str)

功能为求str的长度,并返回。

2

根据定义求长度。

对于字符串str,

可以用如下代码求长度:

int

len

for(len

=

0

len

++)

if(str[len]

==

'\0')break

当str[len]为0时,退出循环,退出后的len值就是str的长度。

这个字符串长度为10个字符。

可以用strlen("ab'1'\\\12803")来求这个字符串的长度。

也可以用sizeof("ab'1'\\\12803")来求,但是这个求出的结果是多了一个字符串结束符\0。

可以试着输出这个字符串看看是不是10个字符。

strlen()函数判断的字符串长度是以\0为结尾作为标志的。

当char * m=new char[TOKEN_LENGTH]后,虽然为指针分配了地址,但是其指向的内容未被初始化,所以m指向的内容是未知的,可能在第24个字符的位置发现了\0所以strlen()显示长度为24。

数据类型

字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。

以上内容参考:百度百科-字符串