为何使用gets函数时仅得60分,改成scanf之后就AC了?
查看原帖
为何使用gets函数时仅得60分,改成scanf之后就AC了?
857145
Chris_Wei楼主2022/11/12 01:38

以下为原代码:

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[501], str2[501];
    float rate;
    scanf("%f",&rate);
    fflush(stdin);
    gets(str1);
    gets(str2);
    float SameNum = 0;
    for(int i = 0;str1[i]!='\0';i++){
        if(str1[i] == str2[i]){
            SameNum++;
        }
    }
    if(SameNum/strlen(str1) >= rate){
        printf("yes");
    }else{
        printf("no");
    }
    return 0;
}

提交此代码后,仅得60分。 之后删去这两个gets:

   gets(str1);
   gets(str2);

替换成scanf:

scanf("%s%s",&str1,&str2);

就AC了,有大佬可以解释一下吗?

2022/11/12 01:38
加载中...