注册 登录
编程论坛 C++教室

C++基本问题求解

武天五天 发布于 2017-06-05 19:23, 1652 次点击
int main()
{
    char c;
    int n;
    cout<<"大写字母和ASCII码对照表"<<endl;
    cout<<"================================="<<endl;
    cout<<"字母"<<'\t'<<"十进制"<<'\t'<<"八进制"<<'\t'<<"十六进制"<<endl;
    for(c='A';c<='Z';c++)
    {
        n=c;
        cout<<c;
        cout<<'\t'<<dec<<n;
        cout<<'\t'<<oct<<n;
        cout<<'\t'<<hex<<n<<endl;
    }
    cout<<"==================================="<<endl;
    return 0;
}

十进制输出使用的操作符dec是默认使用的,在本程序中为甚么该操作符不能省


[此贴子已经被作者于2017-6-5 19:26编辑过]

2 回复
#2
rjsp2017-06-06 08:20
假如省略了,不就相当于
    cout << '\t' << n
         << '\t' << oct << n
         << '\t' << hex << n

         << '\t' << n
         << '\t' << oct << n
         << '\t' << hex << n;

         ……

或者这么说吧,cout << hex << 20 << '\t' << 20;
输出的是14,14,而非14,20。
#3
jinanman2017-09-20 15:26
假如省略了,不就相当于
    cout << '\t' <<hex<< n;  第一次十进制,之后都是十六进制
         << '\t' << oct << n;
         << '\t' << hex << n;


  
1