2011-10-06 70 views
-2

我存储“你好”世界字符数组分配characteres成字符指针,C语言程序设计,指针

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); 
+7

定义“字符串的位置”,假设你想要其他的东西,“它从一个[0]开始到一个[长度](包括nul终止符)”。 – DwB

+0

你有'p = aa;'..那是正确的吗? – 2011-10-06 15:56:03

+0

你是什么意思的字符串的位置? –

回答

1

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

,但如果你想模仿的strlen你可以写这样的事情

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

我得到了字符串的长度,现在我需要找到特定字符形式给定字符串 – vinothvetrivel

+0

的位置而不使用** strlen()** function – vinothvetrivel

0

做搜索,对结果保存到地址,所以p - 一个是指数。

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