鱼C论坛

 找回密码
 立即注册
查看: 2865|回复: 4

关于getchar( )和putcha( )的疑问?

[复制链接]
发表于 2013-10-6 20:12:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大大:
        晚上好!
        我是新手,刚开始学习C,刚学到getchar( )putcha( )用法这就卡住了。
        getchar( ):一次写入一个字符;
        putchar( ):一次读出一个字符。
我现在只能理解程序1
# include<stdio.h>
int main(void)
{
            char c;
               c = getchar();

            putchar(c);
    putchar('\n');

            return 0;
}
输入:t,运行结果如下:
t
t
Press any key to continue
即使输入多个t,也只输出一个t,运行结果如下:
ttttttttttttttttttttt
t
Press any key to continue
程序2
# include<stdio.h>
int main(void)
{
            int c;
    c = getchar();

            while(c != EOF)
            {
                       putchar(c);
                       c = getchar();
           }
           return 0;
}
运行结果:
t
t
tttttttttttttttt
tttttttttttttttt
程序2有两点不明白:
1.输入多个t,竟然也能输出多个t,(我觉得应该只输出一个t )
2.没有换行符“\n”,竟然自动换行了。
程序3
# include<stdio.h>
int main(void)
{
            int c;

            while((c = getchar()) != EOF)
           {
                         putchar(c);
                         c = getchar();
            }
            return 0;
}
运行结果:
t
t
tttt
tt

ttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttt
程序3不明白的地方:
1.当输入多个字符时,只能输出一半字符;
2.与程序2相比较,程序3没有换行符,输出结果却没有换行。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-6 20:15:45 | 显示全部楼层
发个帖子真费劲,反反复复编辑了五六次,终于发能发出来了。看来得多练练才行,自己先顶一下吧。:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-6 21:24:33 | 显示全部楼层
程序1 与 程序2 可以一起回答:
因为 getchar( )  一次接收一个字符,而你输入的是多个字符,实际上它也接收了那么多个,敲一个键就接收一个;第一个程序输出一个是因为putchar( ):一次读出一个字符 , ”putchar( )“只执行了一次,所以只输出第一个字符;
程序2 有循环,所以能输出多个;  并且回车也是一个字符;

程序3  :
只要把  while 循环里面那句   ”c = getchar();“  删掉就行了。
因为”while“ 判断里执行一次,循环里执行一次相当于两个字符。(这句是我理解的,可能有更好的解释)

希望对你有帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-6 22:45:05 | 显示全部楼层
顶楼上,正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-18 23:28:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 03:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表