c语言中,gets 和getchar及scanf是如何判断你输入的字符或者字符串结束的,我感觉有时是回车,有时是空格

请高手指点?

getchar()是用来输入一个字符的,是以回车代表输入结束
gets()是用来输入字符串的,应该也是以回车代表输入结束
scanf()是什么都可以输入,scanf()是以回车代表输入结束
scanf()中会用到空格 是用作分隔符的 因为scanf()可以输入多个变量,

canf("%d%d",&a,&b);//表示输入两个整形的数分别赋给变量a、b 在输入另个数时用空格间隔开
但如果canf("%d,%d",&a,&b);//如果两个%d中间用逗号间隔,那么输入时也必须用逗号作为两个数间隔。
希望你可以理解
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-01
gets是按回车算的,scanf其实是可以在第一个参数里面指定的,不指定会按空格算,getchar只能取一个字符,所以照单全收,不存在结束的问题。
第2个回答  2011-03-31
gets是一整行的读,遇到'\n'结束。getchar什么都读,包括'\n'。scanf是空格或'\n'
第3个回答  2011-03-31
sacnf 能接收回车字符,但是不能接收空格字符(即以空格作为字符串的分隔符);gets,getchsr可以接受空格字符,以回车作为分隔符
相似回答