项目场景:
C语言基础中多次使用scanf问题。
问题描述:
提示:C语言中多次使用scanf("%c",*)输出异常,在此做个记录。
#include "stdio.h"
int main()
{
char a,b,c,d,e,f;
printf("input character a,b\n");
scanf("%c%c",&a,&b);
// getchar();
printf("%c,%c\n",a,b);
scanf("%c,%c",&c,&d);
// getchar();
printf("%c,%c\n",c,d);
scanf("%c %c",&e,&f);
// getchar();
printf("%c,%c\n",e,f);
}
异常输出
解决方案:
在所有scanf
的输入控制符%c
前面加个空格就能正常输出了。
#include "stdio.h"
int main()
{
char a,b,c,d,e,f;
printf("input character a,b\n");
scanf(" %c %c",&a,&b);
// getchar();
printf("%c,%c\n",a,b);
scanf(" %c, %c",&c,&d);
// getchar();
printf("%c,%c\n",c,d);
scanf(" %c %c",&e,&f);
// getchar();
printf("%c,%c\n",e,f);
}
修改后正常输出