2201_75385979 2022-12-07 22:46 采纳率: 50%
浏览 34
已结题

字符串为什么无法输入😢

#include<stdio.h>
struct stud
{
char id[10];
int score;
}s[100];
int main()
{
int i,j=0,n;
char b[10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
gets(s[i].id);
scanf("%d",&s[i].score);
}
scanf("%s",b);
for(i=0;i<n;i++)
{
if(b==s[i].id)
{
printf("%d\n",s[i].score);
j++;
}
}
if(j==0)
printf("no found\n");
}
为什么字符串b无法输入?

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2022-12-07 22:52
    关注

    b 输入之前 ,先用 getChar() 把 换行符 接收了,不然会有影响

    代码修改了一下:

    #include<stdio.h>
    #include <string.h>
    struct stud
    {
        char id[10];
        int score;
    }s[100];
    
    int main()
    {
        int i,j=0,n;
        char b[10];
        scanf("%d",&n);
        getchar();
        for(i=0;i<n;i++)
        {
            gets(s[i].id);
            scanf("%d",&(s[i].score));
            getchar();
        }
        scanf("%s",b);
        for(i=0;i<n;i++)
        {
            if(strcmp(b, s[i].id) == 0)
            {
                printf("%d\n",s[i].score);
                j++;
            }
        }
        if(j==0)
            printf("no found\n");
    }
    
    

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 12月7日

悬赏问题

  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动