main(){ char *s,*s1="Here";s=s1;while(*s1)s1++;printf("%d\n",s1-s);输出结果是—不知道怎么做,求指点

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 08:37:53

main(){ char *s,*s1="Here";s=s1;while(*s1)s1++;printf("%d\n",s1-s);输出结果是—不知道怎么做,求指点
main(){ char *s,*s1="Here";s=s1;while(*s1)s1++;printf("%d\n",s1-s);输出结果是—不知道怎么做,求指点

main(){ char *s,*s1="Here";s=s1;while(*s1)s1++;printf("%d\n",s1-s);输出结果是—不知道怎么做,求指点
程序结果是输出s或(和)s1指向的串(Here)长度:4.
char *s,*s1="Here"; //分配两个指针,一个野,一个指向常量串here,很容易看出来,长度为4个字符.
s=s1; //s与s1指向同一个位置
while(*s1)s1++; //当串不到结尾时,指针++ , 串结尾符是\0 ,即数值0
printf("%d\n",s1-s); //s还指向原位置,两个指针相减,其差就是串长度.