c语言定义字符串的长度
⑴ c语言 字符串长度
这个字符串长度为10个字符。
你可以用strlen("ab'1'\\\12803")来求这个字符串的长度。
也可以用sizeof("ab'1'\\\12803")来求,但是这个求出的结果是多了一个字符串结束符\0。
你可以试着输出这个字符串看看是不是10个字符。
实际上,这10个字符分别为:
1、a
2、b
3、'
4、1
5、'
6、\\(\\表示:前一个表示这是一个转义字符,后一个才是字符串中的真实字符)
7、\12(同上,\表示这是一个转义字符,其后面的1~3个数字位是一个八进制数,在这里,第3个数字为8,所以它不是这个八进制数的一部分,即这个八进制数应该是12,转换为10进制数即为10,对应的ASCII码为一个换行符)
8、8
9、0
10、3
注:\用来说明一个转义字符,如\\表示反斜杠字符“\”,\ddd表示1~3位八进制数所代表的字符(ASCII码),\xhh表示1~2位十六进制数所代表的字符。
⑵ c语言字符串长度有哪些
这个字符串长度为10个字符。
可以用strlen("ab'1'\12803")来求这个字符串的长度。
也可以用sizeof("ab'1'\12803")来求,但是这个求出的结果是多了一个字符串结束符 。
可以试着输出这个字符串看看是不是10个字符。
strlen()函数判断的字符串长度是以 为结尾作为标志的。
当char * m=new char[TOKEN_LENGTH]后,虽然为指针分配了地址,但是其指向的内容未被初始化,所以m指向的内容是未知的,可能在第24个字符的位置发现了 所以strlen()显示长度为24。
数据类型
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
以上内容参考:网络-字符串
⑶ c语言编程 字符串长度
#include<stdio.h>
int strlen(char stry);//由于子函数在主函数之前,此句可去
int strlen(char stry)//自定义函数名不要与库函数中中的函数名,关键字相同,把函数名改改看
{
int i;
for(i=0;i<40;i++)
if(stry[i]=='\0')
return i;
}
main()
{
int n;
char str[40];
printf("input a string:");
scanf("%s",str);
n=strlen(str);
printf("%d\n",n);
}
助你好运啊
⑷ c语言中关于字符串长度的问题
不,若不在[]填数字,就必须在初始化这个str,在等号右边写具体数据,有几个数据,编译器就自动在[]中填几了。所以char str[]{0}这样写是错误的,要写成char str[]={'a','b','c'};这样的形式,编译器就会认为[]中是3了。另,char型数组还可以char str[]="1234567";这样来定义,但这时[]中并不是7而是8,原来编译器把str作为字符串对待了,要在7后自动加一个结束符'\0'。
⑸ 在c语言中怎样定义字符串
在c语言中定义字符串:
C语言中用字符型CHAR来表示存储字符,没有C++里面的可以单独的字符串类型String;
所以C里面使用字符数组和字符指针来实现字符串功能;
C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;
char string0[10];
char string1[]="prison break";
char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'