首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问在C中什么时候要先考虑滤去换行符

2013-06-26 
请教在C中什么时候要先考虑滤去换行符如下面这个简单的程序,#include stdafx.h#include stdio.h#inclu

请教在C中什么时候要先考虑滤去换行符

如下面这个简单的程序,
#include "stdafx.h"
#include "stdio.h"
#include "string.h"

int main(void)
{
char name;
char flower;

name = getchar();
flower = getchar();

putchar(name);
putchar('\n');
putchar(flower);
putchar('\n');

return 0;
}

当在黑窗口中任意输入两个字符a与了,中间不要空格,输出结果为:
ab
a
b
Press any key to continue

当输入a加空格b后,输出结果为:
a b
a

Press any key to continue

当把程序改成加一个滤去换行符
char name;
char flower;

name = getchar();
while(getchar() != '\n')
{
continue;
}

flower = getchar();

putchar(name);
putchar('\n');
putchar(flower);
putchar('\n');

这样就可以先输入一个a,然后敲回车,然后输入一个b,然后回车,得出结果:
a
b
a
b
Press any key to continue

我在做字符串练习题时也经常会碰到要滤去换行符的情况,但我在一开始做习题时不知道在哪里要滤去换行符,往往等编译出的结果不如意时才会慢慢觉得是不是要滤去换行符,然后试成功了。但是我的问题是,有什么办法可以一开始就知道在哪里要滤去换行符?
[解决办法]
getchar 获取单个字符,如果你需要输入多个字符 中间有换行或者空格隔着的话,都需要过滤掉 的
[解决办法]
1,流是有缓冲的
2,字符串,数字,指针等以空格(' ', '\t', '\n'等)分隔。换句话说从流中读到的字符串不会包含空格
3.getchar()可以读到任意字符(char)和EOF
[解决办法]
根据自己的需要定吧   
[解决办法]
空格也是一个字符,所以就是这样的结果,希望可以帮到你!

热点排行