char 是字符类型,getchar()函数获取的是一个字符(
理解这个函数的作用是关键)。
第一个程序,你输入sdfd,它当然只获取前面一个字符s(它不可能把sdfd四个字符都读进去)
char ch;
ch=getchar();
//把读取到的字符赋给ch变量
putchar(ch);
//输出ch变量的值
---------------------------------------------------------------------------------------
第二个程序,循环读取字符,所以getchar()函数返回值只要不为#号,循环就一直进行下去。
所以你输入sdfd#:getchar()将读取五次,那么循环体也将执行4次。
换句话说,读取s的是时候,执行一次循环体(输出s),读取d的是时候,执行一次循环体(输出d)……
读取#的是时候,因为判断循环是否停止的条件是输入字符不能为#,所以循环停止,此时屏幕已经输出sdfd了!
//以上只是我个人见解,希望对你有帮助,建议你看这个程序的时候,先去理解程序中用到的关键的函数的作用!
[
本帖最后由 自强 于 2012-10-6 15:20 编辑 ]