一道不知哪里来的面试题(不用变量求字符串长度)

道听途说了一道面试题,不知道是哪家的,挺有意思的。

 

题目是这样:不能申请任何变量,重写strlen函数,求字符串长度。当时的直觉就是如果能有个栈就好了,可以用栈来解决计数问题,可是那必须得申请变量,想来想去就想到程序调用栈了,也就有了递归解法。

 

当然了在程序里面没有考虑字符串太长递归层次太深导致的栈溢出问题。^^

 

#include<iostream> using std::cout; using std::endl; size_t strlen(const char *p) { if(p == NULL) { return 0; } else if( (*p) != '/0') { p++; return strlen(p) + 1; } else return 0; } int main() { const char *p="Hello world!"; cout << strlen(p) << endl; return 0; }

你可能感兴趣的:(面试,null)