鱼C论坛

 找回密码
 立即注册
查看: 1172|回复: 1

[已解决]为什么此函数无法输入str1与str2

[复制链接]
发表于 2023-11-29 08:26:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<string.h>
int main()
{
        float f;
        scanf("%f",&f);
        char str1[500],str2[500];
        gets(str1);
        getchar();
        gets(str2);
        int l,n=0,a;
        l = strlen(str1);
        printf("%s\n",str1);
        for(a=0;a<l;a++){
                strcmp(str1,str2);
                if(strcmp(str2,str2)==0){
                    n++;       
                }
                else{
                        n=n;
                }
        }
        float fz;
        fz = 1.0*n/l;
        if(fz>=f){
                printf("yes");
        }
        else{
                printf("no");
        }
        return 0;
}
最佳答案
2023-11-29 08:26:28
问题出在获取字符串输入的方式上。在 C 语言中,使用 `gets()` 函数获取字符串输入时,需要提前为字符串变量分配足够的内存空间。

此外,`str1` 和 `str2` 的定义应该是字符数组,而不是单个字符。因为你想要输入的是一个完整的字符串,而不是单个字符。

以下是修正后的代码:
#include <stdio.h>#include <string.h>int main(){    float f;    scanf("%f", &f);    char str1[100], str2[100];    getchar(); // 读取换行符    gets(str1);    gets(str2);    int l, n = 0, a;    l = strlen(str1);    printf("%s\n", str1);    if (l >= f)    {        printf("yes");    }    else    {        printf("no");    }    return 0;}
请注意,此代码只是演示如何获取字符串输入并比较其长度是否大于等于指定的浮点数 `f`。其他功能需要根据实际需求进行修改。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-29 08:26:28 | 显示全部楼层    本楼为最佳答案   
问题出在获取字符串输入的方式上。在 C 语言中,使用 `gets()` 函数获取字符串输入时,需要提前为字符串变量分配足够的内存空间。

此外,`str1` 和 `str2` 的定义应该是字符数组,而不是单个字符。因为你想要输入的是一个完整的字符串,而不是单个字符。

以下是修正后的代码:
#include <stdio.h>#include <string.h>int main(){    float f;    scanf("%f", &f);    char str1[100], str2[100];    getchar(); // 读取换行符    gets(str1);    gets(str2);    int l, n = 0, a;    l = strlen(str1);    printf("%s\n", str1);    if (l >= f)    {        printf("yes");    }    else    {        printf("no");    }    return 0;}
请注意,此代码只是演示如何获取字符串输入并比较其长度是否大于等于指定的浮点数 `f`。其他功能需要根据实际需求进行修改。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 10:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表