读书人

gets和scanf的一些疑问求高人指点迷

发布时间: 2012-03-15 11:50:38 作者: rapoo

gets和scanf的一些疑问,求高人指点迷津。
下面这段代码

int main(){
int i,j;
char s,str[10];
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("===%d\n",j);
gets(str);
}
printf("-----------%d\n",i);
scanf("%c",&s);
fflush(stdio);
}
}

运行结果如下:

===0
aa
===1
aa
===2
aa
-----------0
a
===0
===1
aa
===2
aa
-----------1
a


为什么外面第二次循环,里面第一个gets()会直接跳过。

如果删除 scanf("%c",&s); 则不会如此。。。
求高手能指点指点。小弟感激不尽!

[解决办法]
清缓存
[解决办法]
额,dev没你说的问题
[解决办法]
fflush(stdio)什么意思啊?

读书人网 >C++

热点推荐