不能直接比较字符串的大小

106 阅读1分钟

在 C 语言中,字符串实际上是一系列字符的集合,以空字符('\0')结尾

直接比较两个字符串可能会得到意外的结果,因为 C 语言没有内置的字符串比较功能来逐个字符地比较它们,同时考虑字符串结束符('\0')。

使用关系运算符:实际上是在比较它们的指针地址,无法得到字符串内容之间的实际大小关系。

正确做法:使用专门的字符串比较函数,如 strcmp() 或 strncmp()。这些函数会逐个字符地比较两个字符串,直到找到不匹配的字符或遇到字符串结束符('\0')。通过这些函数,您可以得到字符串内容之间的实际大小关系。注意:strcmp函数包含在<string.h>头文件里. #include<string.h> strcmp() 是 "string comparison"(字符串比较)的缩写``` int main(int argc, string argv[]) *通过字符串来输入

{

for (int i = 0; i < candidate_count; i++)

{

    candidates[i].name = argv[i + 1]; *将输入的数据存储到candidates[]数组中,后续想要比较大小时,必须用 strcmp函数

    candidates[i].votes = 0;

    candidates[i].eliminated = false;

}