内容
字符串长度比较是C编程语言中常用的函数,因为它使您可以找出哪个字符串包含更多字符。这对于排序数据非常有用。字符串比较需要一个特殊的函数;所以不要使用: != 或者 ==.
踩
- 有两个函数可让您比较C语言中的字符串。 两者都包含在 string.h>代码库。
- strcmp() -此函数比较两个字符串并返回字符数的差。
- strncmp() -这也适用于 strcmp(),除了这个是第一个 ñ 比较字符。它被认为更安全,因为它有助于防止溢出崩溃。
- 使用必要的库运行程序。 你们两个都有图书馆 stdio.h> 和 string.h> 以及程序可能需要的其他库。
#include stdio.h> [[图像:在C编程步骤1中比较两个字符串,版本4.webp |中]] #include string.h>
- 开始一个。整型功能。 这是学习此函数的最简单方法,因为它返回一个比较两个字符串长度的整数。
[[图像:在C编程步骤2版本4.webp中比较两个字符串|中]] #include stdio.h> [[图像:在C编程步骤3版本3.webp中比较两个字符串|中] | #include字符串。 h> int main(){}
- 确定要比较的两个字符串。 在此示例中,我们比较两个数据 烧焦 字符串。您还必须将返回值确定为整数。
[[图像:在C编程步骤4版本4.webp中比较两个字符串|中]] #include stdio.h> [[图像:在C编程步骤5版本4.webp中比较两个字符串|中] | #include字符串。 h> int main(){char * str1 =“ apple”; char * str2 =“橙色”; int ret;}
- 添加比较功能。 现在,您已经定义了两个字符串,您可以添加compare函数。我们去 strncmp() 因此,我们需要确保要在函数中设置要测量的字符数。
[[图像:比较C编程步骤6中的两个字符串,版本4.webp |中]] #include stdio.h> #include string.h> int main(){char * str1 =“ apple”; char * str2 =“橙色”;诠释ret = strncmp(str1,str2、11); / *比较最长不超过11个字符的两个字符串 * /}
- 用。如果别的进行比较。 现在我们已经创建了函数,使用 如果别的 确定哪个字符串更长。 strncmp() 给 0 结果,如果字符串长度相同,则str1较长时为正数,str2较长时为负数。
#include stdio.h> #include string.h> int main(){char * str1 =“ apple”; char * str2 =“橙色”;诠释ret = strncmp(str1,str2、11); if(ret> 0){printf(“ str1更长”); } else if(ret 0){printf(“ str2 is long”); } else {printf(“两个字符串相同”); } return(0); }
警示语
- 请记住,如果字符串相等,则返回值为0。这可能会造成混淆,因为0也是FALSE的值。