【问题标题】:Difference between " , " and " << " in cout in c++? [duplicate]c++中cout中的“,”和“<<”之间的区别? [复制]
【发布时间】:2021-12-28 01:54:22
【问题描述】:

代码:

#include <iostream> 
using namespace std;
int main() 
{ 
    int i = 1;
    cout << "hello " << i  << " end" ;
    return 0; 
} 

输出:你好 1 结束
这工作正常,但

#include <iostream> 
using namespace std;
int main() 
{  
    int i = 1;
    cout << "hello " , i  , " end" ;
    return 0; 
} 

输出:你好
为什么以上内容仅以打印 hello 结束?

【问题讨论】:

    标签: c++ c++11


    【解决方案1】:
    std::cout << "hello " , i  , " end" ;
    

    由于, 的运算符优先级低于&lt;&lt;,因此计算结果为:

    (std::cout << "hello "), i  , " end" ;
    

    首先,(std::cout &lt;&lt; "hello ") 将被评估,打印 hello

    第二,我会得到评估。值i 将返回整个表达式(std::cout &lt;&lt; "hello "), i

    第三," end" 会得到评估。值" end" 将返回整个表达式((std::cout &lt;&lt; "hello "), i ), " end" ;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2021-02-28
      • 2014-11-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多