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

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

运行结果显示如下
相关推荐
zaizai100715 分钟前
【Effective Modern C++】学习第一章
c++
Fruiticecake39 分钟前
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针
c语言·c++
总要学点什么42 分钟前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
田甲1 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
青少儿编程课堂1 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析
c++·python·算法·bfs·信息学竞赛
严肃小白兔1 小时前
MATLAB 绘图与科研论文插图制作:图形设计、统计表达与矢量导出
开发语言·matlab·科研绘图
Funlang3 小时前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
普通人63 小时前
PHP文件读写完全指南
开发语言·php·1024程序员节
坤坤子吖4 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
一晌小贪欢4 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足
开发语言·c++·python·数据可视化·面向对象·python办公