scanf 和gets吃回车问题
僵尸男孩 2014-03-08 09:53:23 int a ;
char str1[20],str2[20],str3[20];
scanf("%d",&a);
gets(str1);
printf("%s",str1);
gets(str3);
printf("%s",str3);
gets(str2);
printf("%s",str2);
这是一个例子,当scanf输入%d的时候,打一个回车那么这个回车会被第一个gets吃掉,那么就只能输入2个字符串。 但是当输入str3的时候也要打一个回车,这个回车str2却不会去吃。 这到底是什么机制? gets不互相吃回车? 支持上个另外一个形式的输入的?