鱼C论坛

 找回密码
 立即注册
查看: 2160|回复: 3

简简单单的输入两个字符的问题

[复制链接]
发表于 2014-5-22 16:26:03 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
void main()
{
char c1,c2;
c1=getchar();
printf("\n");
c2=getchar();
putchar(c1);
printf("\n");
putchar(c2);

//printf("%d,%d\n",c1,c2);
  //printf("%c,%c",c1,c2);
}
代码如下,可是每次只是能处理一个字符,第二字符就是无法输入。。。。
why???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-22 17:00:03 | 显示全部楼层
本帖最后由 elvo 于 2014-5-22 17:01 编辑

你输入字符后是要敲回车的。。在输入缓冲区里就保存了回车符的,把程序修改一下如下:
#include<stdio.h>
int main()
{
        char c1,c2;
        do{
                c1=getchar();        
        }while(c1 == '\n');            //读取如果是‘\n’则继续读取。
//        printf("\n");
        do{
                c2=getchar();
        }while(c2 == '\n');       //同上

        putchar(c1);
        printf("\n");
        putchar(c2);

//printf("%d,%d\n",c1,c2);
  //printf("%c,%c",c1,c2);
  return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-22 17:01:10 | 显示全部楼层
#include<stdio.h>
void main()
{
char c1,c2;
c1=getchar();
getchar();
printf("\n");
c2=getchar();
putchar(c1);
printf("\n");
putchar(c2);
printf("\n");
}
使用getchar()时回车键也是一个字符,不在c1赋值语句后加一个getchar()接收回车键,计算机就会把回车赋给c2,也就会出现你说的情况
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-22 18:02:41 | 显示全部楼层
很好,越学越厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 02:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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