爱问知识人 爱问教育 医院库

C 问题

首页

C++问题

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
  int a;
  a=getchar();
  getchar();    //滤过回车
  int b;
  b=getchar();
  putchar(a);
  putchar(b);
  putchar('\n');
  cout<<a<<b<<endl;
  return 0;
}
输出结果为:
0
0
00
4848
也就是说我输入的是 0  0
但是最后没有使用putchar()的输出为什么是48 和 48?

提交回答
好评回答
  • 2012-06-06 14:41:25
    因为你定义的a和b的类型是整形数据,当你使用putchar进行输出时,编译器自动将a和b转换为char型数据,因此输出的是00
    当你使用cout进行输出是,cout将a和b按照整形数据输出,'0'的整形数值是48
    因此就会输出48
    这是正确的,是因为数据类型的不同而输出的效果不同

    好***

    2012-06-06 14:41:25

其他答案

    2012-06-10 15:38:20
  • #include 
    #include 
    using namespace std; 
    int _tmain(int argc, _TCHAR* argv[]) 
    { 
    int a; //存储整形数据
    a=getchar(); //getchar函数获取第一个字符的ASCII码值存入a
    getchar();   //滤过回车 
    int b; //存储整形数据
    b=getchar(); //getchar函数获取第二个字符的ASCII码值存入b
    putchar(a);  //显示整数a所表示的ASCII码所对应的字符
    putchar(b);  //显示整数b所表示的ASCII码所对应的字符
    putchar('\n'); 
    cout<
    		                
    		            

    S***

    2012-06-10 15:38:20

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):