strlen测量字符串长度 strcpy(str1,str2)将后一个复制到前一个
strlen 是取一个字符串长度,由于数组下标是从0开始的,-1之后表示最后一个字符的位置 这样写Sa和Sstr应该是一样的吧,不然不好理解了
把str字符串长度减1 附值给j
strlen(strl)的值是7,因为“Teacher”在内存中存储是:‘t’,'e', 'a','c','h','e','r','\0',是有结束标志符“\0”的,在strcpy拷贝时是一同拷贝的,str1中存储的也是:‘t’,'e', 'a','c','h','e','r','\0',strlen计算长度不包括“\0”,所以最终结果是7.
指导指针p移到字符串str的最后一个字符上。
给length字符串在堆上分配内存,其长度是字符串str1长度和str2长度的和,最后加1是因为字符串要以‘\0’结尾
看来str是字符串数组名,这里当指针用;strlen(str)-1是求出字符串str的长度再-1,其值就将长度变成了下标值;str+strlen(str)-1就求出了字符串数组最后一个有效位('\0'前面的那个)的地址;p2=str+strlen(str)-1就是把这最后一位的地址(指针)赋给指针p2。换句话说,就是让指针p2指向字符...
char str[100]=”program”;str+1就是"program”中的字符'r'的地址,strlen的规则是从传入的地址起计数,直到找到'\0'为止('\0'不计在内),所以表达式strlen(str+1)的值是6。(字符r,o,g,r,a,m)
函数原型 int strncmp(char *str1, char *str2, int maxlen);此函数用来比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])这里strncmp(str1, str2, strlen(str1))==...