发新话题
打印

编译原理试卷上的一道题目的求解

编译原理试卷上的一道题目的求解

这是我们学校今年编译原理期末考试的一道题目,不知怎么做,还请指点一下.谢谢!

题目如下:

在某些程序设计方法中,空串可以同时用” ”或者NULL表示,下面是一个字符串合并的函数:

#define MAX_STRING 255

char*strcat(const char*s1,const char*s2)

{

 char szBuffer[MAX_STRING];

 char*ptr= szBuffer;

while (*s1!=’\0’&& s1!=NULL);

*ptr++=*s1++;

while (*s2!=’\0’&& s2!=NULL);

*ptr++=*s2++;

return szBuffer;

}

问题:

(1)该函数的设计存在什么隐患?请举例子说明.

(2)试改写以上函数,消除隐患?

TOP

发新话题