C++ char变量的cin输入cout输出问题
charch;cin>>ch;cout<<ch<<endl;如果输入123456,会输出1。chara;loop:cin>>a;cout<<a<<endl;gotoloo...
char ch ;
cin>>ch;
cout<<ch<<endl;
如果输入123456,会输出1。
char a;
loop:cin>>a;
cout<<a<<endl;
goto loop;
这样输入123456,就会分6行分别输出1,2,3,4,5,6。
求高人指点,为什么会这样?char字符变量不是只能存储一个字符吗?
另外如果
char a;
int b=65;
a=b;
cout<<a<<endl;会输出A,而cin>>a;输入65却会输出6. 展开
cin>>ch;
cout<<ch<<endl;
如果输入123456,会输出1。
char a;
loop:cin>>a;
cout<<a<<endl;
goto loop;
这样输入123456,就会分6行分别输出1,2,3,4,5,6。
求高人指点,为什么会这样?char字符变量不是只能存储一个字符吗?
另外如果
char a;
int b=65;
a=b;
cout<<a<<endl;会输出A,而cin>>a;输入65却会输出6. 展开
4个回答
展开全部
屏幕是有缓存的 当你输入123456时,按下回车,123456就到缓存了 然后你用ch读 因为ch是字符 只能读取一个 所以ch只能读一个1 而字符23456还都在缓存中
当你用第二个循环时 就开始依次读2,3,4,5,6了 读一个输出一个 所以就是输出123456
当你用第二个循环时 就开始依次读2,3,4,5,6了 读一个输出一个 所以就是输出123456
更多追问追答
追问
另外如果
char a;
int b=65;
a=b;
cout>a;输入65却会输出6.
这又是为什么呢?
追答
我的输出 是A啊 因为A的askII码 是65 所以输出时A啊
a是char型 而b=65 把b给a
a也等于65 但a是char型 所以输出A
展开全部
char是一个字节
int 四个字节
int 四个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好不用goto 语句 我建议是字符串输入
然后一个一个字符输出
然后一个一个字符输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是只能存1个字符呢,你下面的是循环呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询