可以用strlen函数,这里我们自己写一个。
注意:不能用scanf,scanf一遇到空格就认为输入结束。应该用gets(),遇到换行符或EOF结束。说明可以接受空格。
#include<cstdio> int main()
{
char s[];
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 ;
}
- 赋值语句 p = s 是将字符数组s的首地址赋给指针p,就是指针p指向字符数组
- 最后p指向字符数组的结束符‘\0’的地址,而s为字符数组的首地址
- 二者相减就可以得出两个地址之间的字符个数,就是被测字符数组的
- 长度