c语言利用指针计算字符串的长度
2013-08-02 14:20 youxin 阅读(6502) 评论(0) 编辑 收藏 举报可以用strlen函数,这里我们自己写一个。
注意:不能用scanf,scanf一遇到空格就认为输入结束。应该用gets(),遇到换行符或EOF结束。说明可以接受空格。
#include<cstdio> int main() { char s[20]; char *p; printf("please input a string(less than 20 character):\n"); //scanf("%s",s);不能读入空格 gets(s); p = s; while(*p!='\0') p++; printf("The string lenth is %d\n",p-s); return 0; }
- 赋值语句 p = s 是将字符数组s的首地址赋给指针p,就是指针p指向字符数组
- 最后p指向字符数组的结束符‘\0’的地址,而s为字符数组的首地址
- 二者相减就可以得出两个地址之间的字符个数,就是被测字符数组的
- 长度