none
C++问题 RRS feed

  • 问题

  • #include<iostream>
    using namespace std;
    void main()
    {
     int i=1,j=2,k=3;
     cout<<i<<'\t'<<j<<'\t'<<k<<endl;
     {
      int i=5,j=6;
      k=i+j;
      cout<<i<<'\t'<<j<<'\t'<<k<<endl;
     }
     cout<<i<<'\t'<<j<<'\t'<<k<<endl;
    }

    最后一个输出语句中的k值为何是11而不是3?

    2011年12月7日 9:59

答案

  • 因为您中间的代码修改了k的值,您的k变量是在前面定义的。
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Rob Pan 2011年12月13日 9:06
    2011年12月7日 12:27
    版主
  • #include<iostream>
    using namespace std;
    void main()
    {
     int i=1,j=2,k=3;
     cout<<i<<'\t'<<j<<'\t'<<k<<endl;
     {
      int i=5,j=6;
      k=i+j;    //5+6可不就是11嘛
      cout<<i<<'\t'<<j<<'\t'<<k<<endl;
     }
     cout<<i<<'\t'<<j<<'\t'<<k<<endl;
    }
    

    • 已标记为答案 Rob Pan 2011年12月13日 9:06
    2011年12月8日 5:56

全部回复

  • 因为您中间的代码修改了k的值,您的k变量是在前面定义的。
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Rob Pan 2011年12月13日 9:06
    2011年12月7日 12:27
    版主
  • #include<iostream>
    using namespace std;
    void main()
    {
     int i=1,j=2,k=3;
     cout<<i<<'\t'<<j<<'\t'<<k<<endl;
     {
      int i=5,j=6;
      k=i+j;    //5+6可不就是11嘛
      cout<<i<<'\t'<<j<<'\t'<<k<<endl;
     }
     cout<<i<<'\t'<<j<<'\t'<<k<<endl;
    }
    

    • 已标记为答案 Rob Pan 2011年12月13日 9:06
    2011年12月8日 5:56