C编程语言,指针

时间:2011-10-06 15:53:48

标签: c pointers

我在Character数组中存储了“Hello”世界,并将characteres分配给了char指针,

char a[100],*p;
p=a;

我使用指针找到了字符串的长度,那么我应该如何找到字符串的位置。 程序

char a[100],*p;
int lenth;
printf("Enter the string:");
gets(a);
p=a;

while(*p)
{
    length++;
    p++
}
printf("Length=%d",length);

2 个答案:

答案 0 :(得分:1)

我认为如果你想获得字符串的长度,你只需要使用strlen(a)来获得长度。

但如果你想模仿strlen你可以写这样的东西

size_t length = 0;
for (char* p = a; p < a + sizeof(a) && *p; ++p, ++length );

答案 1 :(得分:0)

进行搜索,p存储结果地址,所以p-a是索引。

char target = 'e';
for (p = a; *p && *p != target; ++p) {};
int result = p - a;
// if target doesn't exists result === Length