strcmp 将字符串长度与输出 1 的始终性进行比较

发布于 科技 2024-02-05
7个回答
  1. 匿名用户2024-01-25

    这有点像在字典中排序...... A 前面有一个带有 b 的单词,例如 apple 前面有 basketball = =||

    字符串在这里。

    长度其实是一个字符逐个字符比较,如果大于1,则返回1,如果小于-1,因为这个函数是满足第一个不同的字符而返回的,你上面的aa、bbb第一个字符是不同的,所以在比较第一个字符后,会返回, 不管背后是什么......

    这个功能在一般教科书中有解释。 我对这个功能感到非常困惑 - - 我以为这是一种浪费 = =

    当我做一个需要我对一堆字符串进行排序的问题时...... 当它变成一本有序的词典时...... 我突然觉得这个功能是世界上最好的功能...... = =||

    如果要比较一个字符串的长度,需要使用 strlen 函数,它返回字符串的字符数,也就是字符串的长度,可以尝试自己重载 strcmp 函数。 让它有你说的,或者自己设计一个功能...... strlen 函数也位于 strcmp 函数的头文件中。

    原型是无符号的 int

    strlen( const char *string );这是VC6的原型)。

    但。。。 我只是在谈论 C 方法...... 因为我只学过C... 至于C++是否是更好的方法,我不知道,我不知道......

  2. 匿名用户2024-01-24

    C C++语言比较字符串按照字典排序,即顺序比较按照ASCII码顺序从第一个字母开始,如果小则返回-1,如果大则返回1,同样为0。

    如果要比较字符串的长度,可以使用 strlen(string) 来执行此操作。

    有趣的是,如果字符串是:

    1", "2", ."9", "10"...在本例中,排序结果为:"1", "10", "2", .

    因为 10 的第一个字母是 1。

    您可以在 Windows 中的文件列表中看到相同的内容。

  3. 匿名用户2024-01-23

    strcmp 不比较字符串的长度,字符串的相等意味着两个字符串完全相同。 结果返回 0;

    另一个例子是 AAA 与 BB。 首先比较第一个字符串中的第一个 A 和第二个字符串中的第一个 B。 比较是 ASCII 码的比较。

    当然,B 比 A 大。 该函数返回 -1。 如果 ASCII 代码相同(即相同的字符),则将其进行比较(一个接一个)。

  4. 匿名用户2024-01-22

    strcmp 比较的是字符串内容,而不是长度。

  5. 匿名用户2024-01-21

    比较规则:字符串比较函数 strcmp 从左到右逐个字符(按 ASCII 值)比较两个字符串,直到遇到不同的字符或遇到'\0'直到。 基本形式为 strcmp(str1,str2),如果 str1=str2,则返回零; 如果 str1str2,则返回一个正数。

    说明:C 库函数 int strcmp(const char *str1, const char *str2) 将 str1 指向的字符串与 str2 指向的字符串进行比较。

    声明:int strcmp(const char *str1, const char *str2) 是 strcmp() 函数的声明。

    参数:str1 -- 第一个要比较的字符串。 str2 – 要比较的第二个字符串。

  6. 匿名用户2024-01-20

    从两个字符串的第一个字符开始,逐个字符比较它们具有以下可能性:

    1)如果在任何字符串的末尾之前找到不同的字符,则较大字符所在的字符串最大。

    2)前面的字符都是相等的,如果其中一个字符串先到达末尾,则尚未到达字符串末尾的字符串较大。

    3)如果前面的字符都相等,并且两个字符串同时到达字符串的末尾,则两个字符串的大小相同(相等)。

  7. 匿名用户2024-01-19

    当长度不同时,长度越大越大; 当长度相同时,比较从第一个字节开始,二进制值较大,同样比较下一个字节...

相关回答
12个回答2024-02-05

使用字符串就是使用它的第一个地址(有时和长度,实际上,拥有第一个地址就足够了),无论字符串有多长。 最明显的例子是,当一个(常量)字符串作为参数及其第一个地址传递时。 所以你的比较只是地址的比较。

4个回答2024-02-05

您可以尝试输出,scanf 函数是从缓冲区读取的数据,第二个字符串的数据是空格或换行符制表符。 您可以单独读取它们,但在两者之间添加 fflush(stdin); 清除缓冲区。

12个回答2024-02-05

给你一个简明的解释会帮助你理解。

#include >>>More

12个回答2024-02-05

不。。。 你还没有弄清楚 C 语言中字符串的含义。 >>>More

9个回答2024-02-05

当单引号用作字符时,必须用'否则,编译器会将其视为函数引用,而不是字符。 示例如下: >>>More