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;
 }
解释

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

运行结果显示如下
相关推荐
晚晶1 分钟前
【Linux】opencv4.9.0静态库编译,开启opencl和EIGEN矩阵运算
linux·c++·opencv·矩阵·opencl
1024小神3 分钟前
xcode多环境 Dev 、Debug 和 Release变量配置以及怎么切换不同环境
开发语言·macos·ios·swiftui·xcode·swift
上不如老下不如小5 分钟前
2025年第七届全国高校计算机能力挑战赛 决赛 C语言组 编程题汇总
c语言·开发语言
云天徽上5 分钟前
【数据可视化-162】数据见证大爱!企业捐款驰援香港数据可视化分析(Pyecharts实现)
开发语言·python·信息可视化·数据可视化·pyecharts
-大头.5 分钟前
JDK 25革新:Java确定性性能新时代
java·开发语言
承渊政道10 分钟前
C++学习之旅【C++类和对象(上)】
c语言·c++·学习·编辑器
Yupureki10 分钟前
《算法竞赛从入门到国奖》算法基础:入门篇-高精度
c语言·数据结构·c++·算法·visual studio
whm277718 分钟前
Visual Basic 拖放
开发语言·visual studio
阿里嘎多学长20 分钟前
2025-12-09 GitHub 热点项目精选
开发语言·程序员·github·代码托管
m5655bj20 分钟前
如何通过 C# 实现 Markdown 转 HTML 格式
开发语言·c#·html