无法使用scanf函数两次扫描一个字符串,然后扫描字符(unable to use scanf tw

2019-10-21 06:47发布

我试着用scanf两次扫描一个字符串,然后扫描字符。 它首先扫描串,不执行第二scanf 。 当我同时使用%s%c在一个scanf它完美的作品。 你能告诉我,为什么出现这种情况?

#include<stdio.h>
int main()
{
char s[100],ch;
scanf("%s",s);
scanf("%c",&ch);   //this does not work
printf("%s %c",s,ch);
return 0;
}

别的程序的工作原理

#include<stdio.h>
int main()
{
char s[100],ch;
scanf("%s %c",s,&ch);  //this works!
printf("%s %c",s,ch);
return 0;
}

Answer 1:

请前添加一个空格%cscanf()

有被读取所以这正在采取后弦换行符%c

#include<stdio.h>
int main()
{
char s[100],ch;
scanf("%s",s);
scanf(" %c",&ch);   
printf("%s %c",s,ch);
return 0;
}


文章来源: unable to use scanf twice for scanning a string and then scanning a char
标签: c stdin scanf