cout函数
devc吧
全部回复
仅看楼主
level 2
启明星2017 楼主
cout<<2<<3;输出是23
cout<<2,3;输出是2
cout<<(2,3);输出是3
请问如何从原理上解释后两者的输出情况呢?
2023年11月28日 05点11分 1
level 2
2,3使用的是逗号表达式,其值为最后一个逗号右边的表达式的值。二三输出不同恰好表明了<<与,的优先级,<<优先级更高,所以第二者输出2,并与后面的3,形成一个逗号表达式,第三者加了括号,所以输出逗号表达式的值(最后一个逗号的右边是3,所以值为3)
2023年11月28日 12点11分 2
[大拇指]
2023年11月28日 13点11分
level 2
启明星2017 楼主
在C++中,<< 是输出运算符,它将指定的值插入到输出流中。
在第一个例子中,cout << 2 << 3; 会按照从左往右的顺序进行运算。首先,将数字2插入到输出流中,输出的结果为2。然后,将数字3插入到输出流中,输出的结果为23。这是因为每次插入值之后,输出流的位置会自动更新到新插入的值的末尾。
在第二个例子中,cout << 2, 3; 实际上等同于 (cout << 2), 3; 这里使用了逗号运算符。逗号运算符会先计算左边的表达式(cout << 2),然后将结果丢弃,最后计算并返回右边的表达式(3)。因此,输出的结果只是2。
在第三个例子中,cout << (2, 3); 使用了逗号运算符来计算表达式(2, 3)。逗号运算符会先计算左边的表达式(2),然后将结果丢弃,最后计算并返回右边的表达式(3)。因此,输出的结果只是3。注意,使用括号是为了明确优先级,使得逗号运算符在输出运算符之前进行运算。
2023年11月28日 13点11分 3
AI的回答
2023年11月28日 13点11分
1