getchar()使用时出现跳跃取字的问题

发布者:bdwhsc最新更新时间:2015-08-07 来源: dzsc关键字:getchar  跳跃取字 手机看文章 扫描二维码
随时随地手机看文章
想要达到的目的是通过getlines()【仿库函数getline()】 对数组进行整行输入赋值,
int getlines(char s[], int limit)
{
int i = 0 ;
int c = 0;

for ( i = 0; ((c = getchar()) != EOF) && ((c = getchar()) != ' ') && c s[i] = c;
if (c = ' ')
{
i++;
s[i] = '';
}
printf (“The input is :%s ”,s);
return (i-1);
}
对函数进行调用,当输入1234时,显示The input is :24。统计输入数组的长度表明只记录了这两个值。
原因是红色标记处调用了两次getchar()赋值给c,前一次c的值还没有取出,就被第二次赋值给覆盖了。原意是想对每一个c值进行判断。
改为 for ( i = 0; ((c = getchar()) != EOF) && (c != ' ') && c
关键字:getchar  跳跃取字 引用地址:getchar()使用时出现跳跃取字的问题

上一篇:用tab替换行输入中的4个连续blank
下一篇:getchar()使用时遇到的数据类型错误

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved