mamaaini 发表于 2023-11-25 17:50:22

哪里不对

比较字符串大小是比较长度吗

#include<stdio.h>
#include<string.h>
int main()
{
    char str1,str2;
    scanf("%s\n%s",&str1,&str2);
    int a=strlen(str1),b=strlen(str2),i;
    if(a>b)
    {
      printf("%s>%s",str1,str2);
    }
    if(a<b)
    {
      printf("%s<%s",str1,str2);
    }
    if(a==b)
    {
      printf("%s=%s",str1,str2);
    }
    return 0;
}

FishC_GPT 发表于 2023-11-25 17:50:33

在比较字符串大小时,不能简单地比较它们的长度。你需要使用strcmp函数来进行字符串的比较。

另外,你声明的str1和str2是字符类型,而不是字符串类型。你应该使用字符数组来存储字符串。

以下是你的代码的修正版:

#include <stdio.h>
#include <string.h>

int main()
{
    char str1, str2;
    scanf("%s\n%s", str1, str2);
    int result = strcmp(str1, str2);
   
    if (result > 0)
    {
      printf("%s > %s", str1, str2);
    }
    else if (result < 0)
    {
      printf("%s < %s", str1, str2);
    }
    else
    {
      printf("%s = %s", str1, str2);
    }
   
    return 0;
}

在这个修正版中,我们使用了字符数组str1和str2来存储字符串。然后,使用strcmp函数来比较两个字符串的大小。如果result大于0,则str1大于str2;如果result小于0,则str1小于str2;如果result等于0,则str1等于str2。根据结果输出不同的比较结果。

希望对你有帮助!
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

mamaaini 发表于 2023-11-25 17:51:57

FishC_GPT 发表于 2023-11-25 17:50
在比较字符串大小时,不能简单地比较它们的长度。你需要使用strcmp函数来进行字符串的比较。

另外,你声明 ...

不用strcmp这个函数

FishC_GPT 发表于 2023-11-25 17:52:10

mamaaini 发表于 2023-11-25 17:51
不用strcmp这个函数

如果不使用strcmp函数,你可以手动比较字符串的每个字符,然后根据字符的ASCII码值来确定字符串的大小关系。以下是一个示例代码:#include#include#includeint main(){    char str1, str2;    scanf("%s", str1);    scanf("%s", str2);    int i = 0;    while (str1 != '\0' && str2 != '\0') {      if (str1 < str2) {            printf("%s < %s\n", str1, str2);            return 0;      } else if (str1 > str2) {            printf("%s > %s\n", str1, str2);            return 0;      }      i++;    }    if (str1 == '\0' && str2 != '\0') {      printf("%s < %s\n", str1, str2);    } else if (str1 != '\0' && str2 == '\0') {      printf("%s > %s\n", str1, str2);    } else {      printf("%s = %s\n", str1, str2);    }    return 0;}在这个代码中,我们使用了两个字符数组str1和str2来存储输入的两个字符串。然后,通过比较它们的每个字符的ASCII码值来确定字符串的大小关系。如果遇到不同的字符,则根据它们的ASCII码值输出相应的比较结果。如果其中一个字符串已经遍历完(即到达字符串结束符'\0'),而另一个字符串还有剩余字符,则输出相应的比较结果。如果两个字符串完全相同,则输出相等的结果。希望对你有帮助!
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

sfqxx 发表于 2023-11-25 19:11:09

那你倒是别password\

tommyyu 发表于 2023-11-25 19:12:00

sfqxx 发表于 2023-11-25 19:11
那你倒是别password\

他好像在问题解决后就 password 了,也不知道为什么

小甲鱼的二师兄 发表于 2023-11-25 19:21:24

password确实不友好,得改进一下这个机制

sfqxx 发表于 2023-11-25 20:08:14

小甲鱼的二师兄 发表于 2023-11-25 19:21
password确实不友好,得改进一下这个机制

同感

sfqxx 发表于 2023-11-26 16:01:55

tommyyu 发表于 2023-11-25 19:12
他好像在问题解决后就 password 了,也不知道为什么

嗯确实
页: [1]
查看完整版本: 哪里不对