黑马程序员技术交流社区
标题:
疑问?? 问题在程序上
[打印本页]
作者:
云霄之上
时间:
2014-7-16 18:00
标题:
疑问?? 问题在程序上
本帖最后由 云霄之上 于 2014-7-16 18:25 编辑
#include<stdio.h>
int string-len(char*s);
int main()
{int size=string-len("t");
printf("%d\n,size");
return 0;
}
int string-len(char *s)
{char *p=s
while(*s++);
return s-p-1;//为什么这里要减1呢 while应该只是执行了一次啊 s就比p大了1啊????
}
作者:
fantacyleo
时间:
2014-7-16 18:23
当*s++=='\0'的时候,s本身已经因为自增而指向了'\0'后面的一个位置,所以要多减1
作者:
云霄之上
时间:
2014-7-16 18:25
fantacyleo 发表于 2014-7-16 18:23
当*s++=='\0'的时候,s本身已经因为自增而指向了'\0'后面的一个位置,所以要多减1 ...
哎 对了 我脑塞了 谢了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2