再度无聊中,再出个小问题~

out4b 2003-07-08 03:00:53
呵呵。这是有一次我去面试的时候人家让我做的。我当时没想出来。:(后来发现很简单。5555

题目如下:

不要使用任何局部变量或全局变量,写一个标准的C语言求字符串长度的strlen()函数。


还是一样,知道答案的大佬们先不要吱声哦,自己想出来的才有分!
...全文
42 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
out4b 2003-07-08
  • 打赏
  • 举报
回复
是啊,我是很无聊啊。想找本好点的编译原理书看看,发现数学公式太多,没意思。所以就来这里灌水了。呵呵。
out4b 2003-07-08
  • 打赏
  • 举报
回复
呵呵,GZCompiler已经做出来了。答案其实就是“递归”。:)
GZCompiler 2003-07-08
  • 打赏
  • 举报
回复
老兄,你果然百无聊赖啊!我刚贴完你就给分,反应够迅速。
1cs1ak1 2003-07-08
  • 打赏
  • 举报
回复



int length = 0;
char *p1 = str;
char *p2 = str;
while(*(p2++))
;
length = p2 - p1;


GZCompiler 2003-07-08
  • 打赏
  • 举报
回复
笔误,重贴:

int mystrlen(char* str)
{
if(*str=='\0')
return 0;
else
return mystrlen(str+1)+1;
}
GZCompiler 2003-07-08
  • 打赏
  • 举报
回复
这个简单,自己想的哦:

int mystrlen(char* str)
{
if(*str=='\0')
return 0;
else
return fun(str+1)+1;
}
jiangweijia 2003-07-08
  • 打赏
  • 举报
回复

int *p1,*p2,length;
p1=str;p2=str;
while(*p2++!='\0');
length=p2-p1;



phiger 2003-07-08
  • 打赏
  • 举报
回复
:)
lbaby 2003-07-08
  • 打赏
  • 举报
回复
可以用指针相减
out4b 2003-07-08
  • 打赏
  • 举报
回复
就是“不要使用任何局部变量或全局变量”当计数器啦~~
lbaby 2003-07-08
  • 打赏
  • 举报
回复
“不要使用任何局部变量或全局变量”
是什么意思?

69,382

社区成员

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

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