getchar()使用时出现跳跃取字的问题
时间:11-28
来源:互联网
点击:
想要达到的目的是通过getlines() 对数组进行整行输入赋值,
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
int getlines(char s[], int limit)
{
}
对函数进行调用,当输入1234时,显示The input is :24。统计输入数组的长度表明只记录了这两个值。
原因是红色标记处调用了两次getchar()赋值给c,前一次c的值还没有取出,就被第二次赋值给覆盖了。原意是想对每一个c值进行判断。
改为
getchar跳跃取 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)