qq_64054038 2022-05-12 21:41 采纳率: 100%
浏览 18
已结题

关于scanf输入字符的疑问

int a, b, i;
char  ch;
printf("输入结点个数!!");
scanf("%d", &a);
T->jiedian = a;
for (i = 0; i < a; i++)
{
    printf("a");
    scanf("%c",&ch);
    
    T->arr[i] = ch;
}

这个为什么输入节点数后回车后会输出两个a,是因为回车被第一次循环的scanf输入进去了吗
能说明下是什么问题导致的吗,怎么解决

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-05-12 22:08
    关注

    scanf("%c",&ch); 这句改为:scanf(" %c",&ch); ,在%c前面敲一个空格

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

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 创建了问题 5月12日