利用指针计算字符串的长度

#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为字符数组的首地址
二者相减就可以得出两个地址之间的字符个数,就是被测字符数组的
长度


你可能感兴趣的:(C语言,指针)