现在给你一个任务,写一个函数用来判定一个字符串是否比另一个更 长。前提是你要用字符串库函数strlen,它的声明如下:
/* Prototype for library function strlen */ size_t strlen(const char *s); 最开始你写的函数是这样的: /* Determine whether string s is longer than string t */ /* WARNING: This function is buggy */ int strlonger(char *s, char *t) { return strlen(s) - strlen(t) > 0; }
当你在一些示例数据上测试这个函数时,一切似乎都是正确的。进一步研究发现 在头文件stdio.h中数据类型size_t是定义成unsigned int的。
A.在什么情况下,这个函数会产生不正确的结果?
B.解释为什么会出现这样不正确的结果。
C.说明如何修改这段代码好让它能可靠地工作。