假设以下C语言函数compare_str_len用来判断两个字符串的长度,当字符串str1的长度大于str2的长度时函数返回值为1,否则为0。
1 int compare_str_len(char*str1,char*str2)
2 {
3 return strlen(str1) - strlen(str2)>0;
4 }
已知C语言标准库函数strlen原型声明为“size_t strlen(const char*s);”,其中,size_t被定义为unsigned int类型。请问:函数compare_str_len在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码?