这断代码的问题在哪里?始终没有找到

xxmv99 2007-06-28 05:50:39
#include <stdio.h>
#include <assert.h>

int Str_Len(const char *ptr);

int main()
{
int len;
char string[] = "123456789";
len = Str_Len(string);
printf("string length =%d.\n",len);
}

int Str_Len(const char *ptr)
{
int len=0;
assert(ptr!=NULL);
while((*ptr++)!='\0')
{
len++;
printf("%c\t",(*ptr));
}
return len;
}


调试结果为:2 3 4 5 6 7 8 9 string length =9
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
匠心零度 2011-04-30
  • 打赏
  • 举报
回复
#include   <stdio.h> 
#include <assert.h>

int Str_Len(const char *ptr)
{
int len=0;

assert(ptr!=NULL);

while((*ptr)!= '\0 ')
{
len++;
printf( "%c\t ",(*ptr++));
}

return len;
}

int main(void)
{
int len;
char string[] = "123456789 ";

len = Str_Len(string);

printf( "\nstring length =%d.\n ",len);

return 0;
}

xxmv99 2007-06-28
  • 打赏
  • 举报
回复
我晕。。。给反了。
xxmv99 2007-06-28
  • 打赏
  • 举报
回复
好像strlen()没有加。
xxmv99 2007-06-28
  • 打赏
  • 举报
回复
int Str_Len(const char *ptr)
{
int len=0;
assert(ptr!=NULL);
while((*ptr)!='\0')
{
len++;
printf("%c\t",(*ptr));
ptr++;
}
return (len+1);
}
\0也要加上吧。。。
freshui 2007-06-28
  • 打赏
  • 举报
回复
int Str_Len(const char *ptr)
{
int len=0;
assert(ptr!=NULL);
while((*ptr)!='\0')
{
len++;
printf("%c\t",(*ptr));
ptr++;
}
return len;
}
snow_kit 2007-06-28
  • 打赏
  • 举报
回复
从0开始的吧 一上来就++了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧