C语言中关于scanf()函数分隔符问题? 50
charc;例如scanf(“%d%d”,&a,&b);printf(“%d,%d”,a,b);c=getchar();printf(“%d”,c);1.输入12空格(不...
char c;
例如scanf(“%d%d”,&a,&b);
printf(“%d,%d”,a,b);
c=getchar();
printf(“%d”,c);
1.输入12空格(不一定就一个)34回车
最后一个printf输出的数值是10
2.输入12回车(不一定一个)34回车
3.输入12Tab(不一定就一个)34回车
最后一个printf输出的数值是多少?中间的回车是分隔符吗?网上说scanf会自动识别分隔符,并且在最后在缓存流中读取数据后会自动把分隔符释放。 展开
例如scanf(“%d%d”,&a,&b);
printf(“%d,%d”,a,b);
c=getchar();
printf(“%d”,c);
1.输入12空格(不一定就一个)34回车
最后一个printf输出的数值是10
2.输入12回车(不一定一个)34回车
3.输入12Tab(不一定就一个)34回车
最后一个printf输出的数值是多少?中间的回车是分隔符吗?网上说scanf会自动识别分隔符,并且在最后在缓存流中读取数据后会自动把分隔符释放。 展开
4个回答
展开全部
scanf函数在没有人为设定分隔符时 字母和数字之间输入时不需要加空格分隔符(特别是数字后输入字符时,一般不要加空格,否则会增加麻烦)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看了一圈已有的回答,没有一个是说得对的或者说得全面的。
scanf默认分隔符为空白符,当然也可以指定分隔符。上面三个程序的结果都是一样的。除非你在第一个printf和c=getchar()之间清除缓冲,否则,你的第二个Printf永远只会输出10,即换行符的ASCII码值。
scanf默认分隔符为空白符,当然也可以指定分隔符。上面三个程序的结果都是一样的。除非你在第一个printf和c=getchar()之间清除缓冲,否则,你的第二个Printf永远只会输出10,即换行符的ASCII码值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询