getchar()使用时出现跳跃取字的问题 作者: 时间:2016-11-28 来源:网络 加入技术交流群 扫码加入和技术大咖面对面交流海量资料库查询 收藏 想要达到的目的是通过getlines()【仿库函数getline()】 对数组进行整行输入赋值,int getlines(char s[], int limit){int i = 0 ;int c = 0;for ( i = 0; ((c = getchar()) != EOF) && ((c = getchar()) != ) && cs[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
评论