以下指针s的字符串的长度为多少,详细解答。 char *s="\t\'Name\\Address
应该是15。
,\",\\,
这几个是转义字符,算一个字符,其他的是一个字符算一个。所以是15个。
C语言,字符串常量”\”name\\address
”的长度为15。
strlen(hello word):字符串为“hello word”这种字符串常量,系统会在其后自动补上'\0';但是求字符串长度的函数strlen()只要遇见'\0',就会返回函数值,'\0'不算在其中。所以返回值为10(空格也算一个字符)。
strlen(hello\0world):其中的字符串为“hello\0word”,而strlen函数遇到'\0'就代表结束,所以返回值为5。
扩展资料
字符常量是由一对单撇号括起来的单个字符,如 'a'、'D'、'?'、'$'。在 C 语言中,除了字符常量外还有字符串常量,顾名思义就是多个“字符”串在一起。
与字符常量有所不同,字符串常量是用“双撇号”括起来的多个字符的序列,如"How are you"、"I love you"、"你好"。当然,只要是“双撇号”括起来的,就算只有一个字符也叫字符串,如"a"。字符常量 'a'与字符串常量"a"是不同的。
一个字符在内存中只占一字节,而字符串本质上是多个字符组成的字符数组。C语言规定,在每一个字符串常量的结尾,系统都会自动加一个字符'\0'作为该字符串的“结束标志符”,系统据此判断字符串是否结束。这里要特别强调一点:'\0'是系统自动加上的,不是人为添加的。
"\t\'Name\\Address\n"="\t'Name\Address\n"
strlen所以长度是15
算上最后那\0是16
c语言,gets函数的详细用法?
c语言,gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\\0'字符。其调用格式为:gets(s)。其中s为字符串变量(字符串数组名或字符串指针)。如果为单个字符指针,编译连接不会有错误,但运行后内存溢出错误。
c语言中的gets()函数如何实现?
2、输出:删除指定字符后的字符串。二、设计思路:1、 同插入问题,定义两个字符数组a,b。以及标志删除位置的int型pos。2、用gets函数输入数组a的值,并利用for循环将数组a copy到 数组b。3、利用for循环,令pos位的数组b元素赋值到a。三、实现代码如下:四、编译并执行,运行结果如下:...
请问while (*s)是什么意思
while(*s)意思就是字符串输出完就结束循环。它需要第二个参数来说明最大读入字符数,如果这个参数值为n, fgets()就会读取最多n-1 个字符 或者读完一个换行符为止,由这二者中最先满足的那个结束输入 如果fgets()读取到换行符,就会把它存到字符串里,而不是像gets() 那样丢弃换行符。它还需要第...
c语言问题啊
程序的运行结果应该是567。理由如下:char *s={"ABC"}的意思是定义一个指向字符串数组"ABC"的指针s,变量s储存的是字符串数组的第一个元素的指针。也就是'A'的指针。printf("%d",*s%10);的意思是输出指针s指向的那个元素%10的结果。一开始s指向A,所以输出的也就是A%10的结果。由于A的ASCII...
...放入形参a所指字符数组中,使a中存放同样的字符串。
你fun中的while执行之后,s指针就已经被移到最后面了,当然不能继续下面的a[i]=s[i],这会导致a中的值是一些无意义的内容,要复制字符串方法很多,比如可以是 void fun( char *a , char *s) { while(*s) *a++=*s++; *a='\\0';}或者是 void fun(char *a,char *s){ ...
C语言:编程统计字符串s在字符串str中出现的次数
int m = strlen(s); \/\/ 获取字符串 s 的长度 int count = 0; \/\/ 计数器,初始化为 0 for (int i = 0; i <= n - m; i++) { \/\/ 检查字符串 str 中以 i 开头、长度为 m 的子串是否等于 s if (strncmp(str + i, s, m) == 0) { count++; \/\/ 如果相等,...
...s="Hello!";cout<<s<<endl;为什么会输出Hello!;s只是字符串...
"Hello!" 是常量字符串,在内存中存在这个字符串,s 就指向这个字符串的地址。在C++中,cout 一个字符串的首地址,可以输出这个字符串——当然前提是这个字符串必须以'\\0'结尾。
c语言,用指针实现读入字符串s,s1,s2,如果s1是字符串s的子串,则用s2替换...
这是我自己写的程序。满足你的要求,我在vc6里面通过调试运行,并且用3个字符串测试结果符合你的题目 include<stdio.h> include<string.h> main(){ char *s=(char*)malloc(80),*s1=(char*)malloc(80),*s2=(char*)malloc(80);int i,j,k;printf("s=");gets(s);printf("s1=");gets(...
C++字符串的问题
对于 chat *s = "ab"; s表示字符串,这可以理解,实际上s是指针,其指向字符串"ab"的存放的首地址,也就是'a'的存放地址,说法上确实让人费解,等熟悉之后,就不觉得这个说法的荒唐了,大家都是从这过来的。在声明字符串时,可以初始化,但不能后期赋值,这与编译程序分配地址空间有关系,例如...
那字符串S+3代表什么意思,指针P+3又是什么意思呢?
比如说你定义了一个字符串 char s[10] = "abcde"; char *p = s;s代表这个字符串的首地址,S+3相当于首地址向下偏移了3个,注意字符串都数组都是从0开始的,所以S+3的值,实际上是字符串数组第四个字符的值,也就是d;指针P+3的意思和上面一样,它的值也是d ...
壤话磷酸: Name长度4,Address长度7,\t,\',\\,\n四个转义字符各1,共15.
湘乡市19735553036: 指针s所指字符串的长度 char *s="\t\ "Name\ \ Address \n"; 求答案及详解. - ?
壤话磷酸: 应该是15. \t,\",\\,\n这几个是转义字符,算一个字符,其他的是一个字符算一个.所以是15个.
湘乡市19735553036: 指针S所指字符串的长度为 - ?
壤话磷酸: D包含的字符如下: \t:制表符 \空格:转义后就是一个空格 \N:转义后就是一个'N' a m e \空格:转义后就是一个空格 \A:转义后就是一个'A' d d r e s s \n
湘乡市19735553036: c语言中指针所指的字符串怎么算? - ?
壤话磷酸: char *s="\t\"Name\\Address\n"; \t ,\",N,a,m,e,\\,A,d,d,r,e,s,s,\n \加上一个字符表示转义字符,算一个,一共15个
湘乡市19735553036: 设有如下语句: char *s="\t\"Name\Address\n"; 则指针s所指字符串的长度为?
壤话磷酸: 长度是14,因为用strlen(s)时,是不包括最后的字符串结束符的 \t是转义字符,不计入,\"也会翻译成转义字符,不计入,\n也是,所以是14
湘乡市19735553036: char *s="\t\"Name\Adress\n"; 则指针s所指字符串的长度为 - ?
壤话磷酸: 你好!!!13 分析:\n \" \A \n 总是4个字节,Namedress 9个字节 所以4+9=13 我运行过了:13 Press any key to continue 呵呵,要注意全国试卷有很多处错误的.自己注意点.
湘乡市19735553036: c语言,字符型指针char *s的长度,为什么sizeof(s)与sizeof(*s)的长度为什么不一样? - ?
壤话磷酸: 首先,两个sizeof所求的东西完全不一样,另外sizeof是编译的时候就求出长度,非运行的时候. sizeof(s)是求指针长度,因为变量定义的是char *s;,这个长度可能是2,可能是4,还可能会是8,是由编译的时候决定的,比如VC6.0编译器长度...
湘乡市19735553036: c语言,输入字符串并计算字符长度 - ?
壤话磷酸: int i=0,*j; 定义了一个整型指针变量j,j++会跳过一个整型数据空间(4) 如:输入数据为:abcdefg j=a; 此时j指向a所在的地址 j++; j跳过四个字节,j指向e所在地址,因此,你的统计会不准确.之所以输出21,只能说,你的程序运行中,扫描内存中的数据是以\0结尾的,而只有找到21*4的位置才发现\0,这是运行时的情况,不是必然的.修改成char *j;就好了.这样j++会跳过一个字符型数据空间(1),才能正确遍历数组!
湘乡市19735553036: C语言字符串长度(指针专题)(指针刚入门,帮我写写,不要写太难看不懂的) - ?
壤话磷酸: #include <stdio.h> int len(char *sp) {//实现sp所指串的长度,不计空格. int i=0; while ( *sp != '\0' ) //遇到字符串结束符时,结束循环 { if ( *sp != ' ' ) i++; //不是空格时,累加长度 sp++; //指针后移,指向下一个字符 } return i; //返回长度 } void main() { char str[100]; gets(str); //输入字符串 printf("%d\n", len(str) ); //调用len()函数,输出长度值 }