C++ //练习 4.23 因为运算符的优先级问题,下面这条表达式无法通过编译。根据4.12节中的表(第147页)指出它的问题在哪里?应该如何修改?

C++ Primer(第5版) 练习 4.23

练习 4.23 因为运算符的优先级问题,下面这条表达式无法通过编译。根据4.12节中的表(第147页)指出它的问题在哪里?应该如何修改?

cpp 复制代码
string s = "word";
string p1 = s + s[s.size() - 1] == 's' ? "" : "s";
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
cpp 复制代码
/*************************************************************************
	> File Name: ex4.23.cpp
	> Author: 
	> Mail: 
	> Created Time: Tue 06 Feb 2024 11:31:29 AM CST
 ************************************************************************/

#include<iostream>
using namespace std;

 int main(){
     string s = "word";
     string p1 = s + ((s[s.size() - 1] == 's') ? "" : "s");
     cout<<p1<<endl;

     return 0;
 }
解释

条件运算符级别较低,需要加括号

运行结果显示如下
相关推荐
222you9 分钟前
线程的常用方法
java·开发语言
云栖梦泽13 分钟前
易语言界面美化与组件扩展
开发语言
catchadmin14 分钟前
PHP 值对象实战指南:避免原始类型偏执
android·开发语言·php
Trouville0123 分钟前
Python中encode和decode的用法详解
开发语言·python
JS_GGbond26 分钟前
JavaScript事件循环:餐厅里的“宏任务”与“微任务”
开发语言·javascript·ecmascript
codingPower39 分钟前
制作ftl文件通过FreeMarke生成PDF文件(含图片处理)
java·开发语言·pdf
神仙别闹39 分钟前
基于QT(C++)实现的翻金币游戏
c++·qt·游戏
CQ_YM40 分钟前
Linux线程控制
linux·c语言·开发语言·线程
lingran__42 分钟前
C语言字符函数和字符串函数详解
c语言·开发语言
CodeCraft Studio1 小时前
JavaScript图表库 DHTMLX Diagram 6.1 重磅发布:全新PERT模式上线,项目可视化能力再升级!
开发语言·javascript·ecmascript·dhtmlx·图表开发·diagram·javascript图表库