c语言中p2=str+strlen(str)-1是什么意思

   更新日期:2024.05.21
看来str是字符串数组名,这里当指针用;strlen(str)-1是求出字符串str的长度再-1,其值就将长度变成了下标值;str+strlen(str)-1就求出了字符串数组最后一个有效位('\0'前面的那个)的地址;p2=str+strlen(str)-1就是把这最后一位的地址(指针)赋给指针p2。换句话说,就是让指针p2指向字符串str的最后一个有效字符。

str是字符串数组的数组名,而数组名就是最开始的地址的地址(这个是地址不是别的,PS:再次强调这个地址),字符每个占一个字节,那么算出长度在减1就是一共有多少个字符,为什么要减一是应该在算长度是把\0也算出来了,那么首地址加上总长度就是最后一个字符的地址了。

p2指向str的最后一个字符

没上下文怎么知道

1、这里str是字符串数组名,这里当指针用;strlen(str)-1是求出字符串str的长度再-1,其值就将长度变成了下标值。
2、str+strlen(str)-1就求出了字符串数组最后一个有效位('\0'前面的那个)的地址;p2=str+strlen(str)-1就是把这最后一位的地址(指针)赋给指针p2。换句话说,就是让指针p2指向字符串str的最后一个有效字符。

  • 15286221359 :编写函数,能处理字符串中除字母、数字外的其他ASCII字符,对连在一起...
    许骆云3813 :答:按照题目要求编写的缩减相同字符的C语言程序如下 include<stdio.h> include<string.h> void del(char* str){ int len,i,j;len=strlen(str);for(i=1;i<len;i++){ if('a'<=*(str+i) && *(str+i)<='z' || 'A'<=*(str+i) && *(str+i)<='Z' || '0'<=*(str+i) &&...
  • 15286221359 :c语言中str是什么意思?
    许骆云3813 :答::c语言中str的含义是什么?在c语言中,str通常是字符串类型的缩写,它是由一组字符组成的序列,这些字符用来表示对文本或字节数组的操作。字符串类型是c语言中的一个基本数据类型,用来处理文本数据。字符串类型中包括了多个字符,可以是字母、数字、符号、空格等,这些字符都以一个null字符作为字符串的...
  • 15286221359 :c语言中 出现过str strl 有什么区别? 都是strlen这个词的意思?_百度知 ...
    许骆云3813 :答:str和strl是变量,意思就是象 int a;中的“a” 的作用,本身既不是函数也不是关键字,没有特别意义。而strlen是测试字符串长度的函数。
  • 15286221359 :在C语言中Strlen是什么意思?
    许骆云3813 :答:strlen是求字符串的长度,但不包括字符串的null结束符。strlen为C语言库函数,包含于string.h中,作用为计算一个字符串(字符数组)中元素的个数,即从数组头部计数,直到遇到字符串结束符\0为止,计数结果不包括\0。需要注意的是,strlen并不是绝对安全的,如果在传入的字符数组的合法范围,不存在结束符...
  • 15286221359 :c语言str是什么意思
    许骆云3813 :答:str 是 C 语言中的字符串类型,也被称作“字符数组”。这种数据类型由一串连续的字符组成,以 NULL 字符('\0')结尾。在 C 语言中,字符串可以通过数组或指针来表示,可以用许多标准库函数来操作。由于 C 语言的数据类型只能包含单个值,使用字符数组来包含字符串可以让我们轻松地处理和传递字符串。
  • 15286221359 :...两个数然后输出这两个数之间的全部同构数,用c语言完成。
    许骆云3813 :答:printf("这两个数之间的同构数为(不包含这两个数):\n");for(i=n1+1;i<n2;i++)//取两数字之间,但不包含这两个数 if(isIsomorph(i))printf("%ld ",i);return 0;} long isIsomorph(long num){ long num2=num*num;char *p=NULL,*p2=NULL,str1[20],str2[20];itoa(num,str1...
  • 15286221359 :C语言程序设计题,要求设计一个满足下列条件的字符串,每个1后面都有0直 ...
    许骆云3813 :答:include <stdio.h> int main(){ char string[100];printf("请输入您要测试的字符串:\n");scanf("%s",string);for(int i=0; i<100; i++){ if(string[i] == '1'){ if(string[i+1]!='0'){ printf("NO\n");return 1;} } } printf("YES\n");return 0;} ...
  • 15286221359 :c语言中strcmp是什么意思(strcmp头文件是什么)
    许骆云3813 :答:strcmp是什么数据库 strcmp函数是stringcompare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1str2,则返回正数。两个字符串不相等时,C标准没有规定返回值会是1或-1,只规定了正数和负数。strl在c语言中的意思 strl...
  • 15286221359 :用c语言编制函数,在字符串数组中查找与另一字符串相等的字符串,函数...
    许骆云3813 :答:下面是c语言实现字符串查询的函数,查到返回字符串的首址,查询不到返回NULL指针。include <stdio.h> char *my_strstr(char *src, char *str){ if(!src||!str) return NULL;while(*src){ char *p1 = src;char *p2=str;while(*p1 &&*p2&&*p1 == *p2) p1++,p2++;//注意循环体中间...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网