C 语言中比较字符串的方法
在 C 语言中,字符串表示为字符数组。要比较两个字符串,可以使用以下方法:
1. 使用 strcmp() 函数
strcmp() 函数比较两个字符串,返回一个整数:
如果字符串相等,返回 0。 如果第一个字符串小于第二个字符串,返回一个负数。 如果第一个字符串大于第二个字符串,返回一个正数。示例:
#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "World"; int result = strcmp(str1, str2); // 打印结果 printf("strcmp() result: %d\n", result); return 0; }</string.h></stdio.h>该代码将打印 -5,因为 "Hello" 小于 "World"。
2. 使用 strncmp() 函数
strncmp() 函数比较两个字符串的前 n 个字符,返回一个整数:
如果前 n 个字符相等,返回 0。 如果第一个字符串的前 n 个字符小于第二个字符串的前 n 个字符,返回一个负数。 如果第一个字符串的前 n 个字符大于第二个字符串的前 n 个字符,返回一个正数。示例:
#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "HelloWorld"; int result = strncmp(str1, str2, 5); // 打印结果 printf("strncmp() result: %d\n", result); return 0; }</string.h></stdio.h>该代码将打印 0,因为 "Hello" 和 "HelloWorld" 的前 5 个字符相等。
3. 使用循环和字符比较
也可以使用循环和字符比较手工比较字符串:
#include <stdio.h> int main() { char str1[] = "Hello"; char str2[] = "World"; int i = 0; int result = 0; while (str1[i] != '\0' && str2[i] != '\0') { if (str1[i] str2[i]) { result = 1; break; } i++; } if (str1[i] == '\0' && str2[i] != '\0') { result = -1; } else if (str1[i] != '\0' && str2[i] == '\0') { result = 1; } // 打印结果 printf("手工比较结果: %d\n", result); return 0; }</stdio.h>该代码将打印 -1,因为 "Hello" 小于 "World"。
以上就是c语言怎么对比字符串的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论