假设以下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在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码?-笔试面试资料

这是qklbishe.com第19623 篇笔试面试资料
提供答案分析,通过本文《假设以下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在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码?-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

假设以下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在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码?
假设以下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在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码? xixihahaniuer
当str1的长度小于str2时返回的结果不正确。
例如:str1(u) = 42,str2(u)= 10
str1 – str2 = 10 > 0
str2 – str1 = 4292467264 > 0
都是返回1 (两个无符号整数相减还是无符号整数,而无符号整数不会小于零)
改为 return strlen(str1)>strlen(str2);

2021-12-29 21:57:12 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 假设以下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在什么情况下返回的结果不正确?为什么?为使函数正确返回结果应如何修改代码?-笔试面试资料

提供最优质的资源集合

立即查看 了解详情