c++getchar()函数问题
编写如下的程序:#include<iostream>usingnamespacestd;intmain(){charc;c=getchar();getchar();put...
编写如下的程序:
#include<iostream>
using namespace std;
int main()
{
char c;
c=getchar();getchar();
putchar(c+32);putchar('\n');
cout<<getchar()<<getchar()<<endl;
return 0;
}
输入A,回车(Enter),再输入a,回车;
最后结果显示为
A
a
a
1097
请问为什么最后的数字是1097不是9710?
再有,写一下一段程序:
#include<iostream>
using namespace std;
int main()
{
char c;
c=getchar();
putchar(c+32);putchar('\n');
cout<<getchar()<<getchar()<<endl;
return 0;
}
同样A,回车,a,回车,为什么最后显示的数字是9710?
是不是输入回车相当于输入了\r\n?
最后,请问getchar()函数吃回车究竟是怎么吃?
麻烦告诉各位高手指点一下我这个菜鸟,最好能从两个程序中缓冲区的数值来说明,谢谢!! 展开
#include<iostream>
using namespace std;
int main()
{
char c;
c=getchar();getchar();
putchar(c+32);putchar('\n');
cout<<getchar()<<getchar()<<endl;
return 0;
}
输入A,回车(Enter),再输入a,回车;
最后结果显示为
A
a
a
1097
请问为什么最后的数字是1097不是9710?
再有,写一下一段程序:
#include<iostream>
using namespace std;
int main()
{
char c;
c=getchar();
putchar(c+32);putchar('\n');
cout<<getchar()<<getchar()<<endl;
return 0;
}
同样A,回车,a,回车,为什么最后显示的数字是9710?
是不是输入回车相当于输入了\r\n?
最后,请问getchar()函数吃回车究竟是怎么吃?
麻烦告诉各位高手指点一下我这个菜鸟,最好能从两个程序中缓冲区的数值来说明,谢谢!! 展开
1个回答
展开全部
getchar()函数 就是从输入缓冲区读一个字符,再转换成 int 型 数值。
9710,1097 是 cout 输出语句 问题。
如果你 加上一个换新行就不会混淆了:
cout << getchar()<< endl;
cout << getchar()<< endl;
回车 -- 打入Enter 键,getchar() 得到的是"\n", 转ASCII值 十进制 10
97 是 "a" 的 ASCII值。
==================================
第2个程序,你只有 3 个 getchar() 。读到的是:
"A","\n","a"
输出 "\n","a"
第1个程序,你有 4 个 getchar() 。读到的是:
"A","\n","a","\n"
输出 "a","\n"
9710,1097 是 cout 输出语句 问题。
如果你 加上一个换新行就不会混淆了:
cout << getchar()<< endl;
cout << getchar()<< endl;
回车 -- 打入Enter 键,getchar() 得到的是"\n", 转ASCII值 十进制 10
97 是 "a" 的 ASCII值。
==================================
第2个程序,你只有 3 个 getchar() 。读到的是:
"A","\n","a"
输出 "\n","a"
第1个程序,你有 4 个 getchar() 。读到的是:
"A","\n","a","\n"
输出 "a","\n"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询