/*
练习4.23:
因为运算符的优先级问题,下面的表达式无法通过编译。指出它的问题在哪里?怎么修改。
string s = "word";
string p1 = s + s[s.size() -1] == 's' ? "" : "s";
答:加法的优先级,高于条件运算符。
修改:string p1 = s + (s[s.size() -1] == 's' ? "" : "s");
*/
#include "TouWenJian_4.h"
int main()
{
return 0;
}
文章讨论了由于C++中运算符的优先级问题,一个字符串赋值表达式无法通过编译。问题在于加法的优先级高于条件运算符。解决方案是调整表达式结构,将条件运算符放在括号内以确保正确执行。

被折叠的 条评论
为什么被折叠?



