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

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

运行结果显示如下
相关推荐
勿忘,瞬间5 分钟前
数据结构—顺序表
java·开发语言
张張4089 分钟前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_4235339913 分钟前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
2401_8920709814 分钟前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象
fzb5QsS1p16 分钟前
告别重复造轮子,Qt 快速开发脚手架
开发语言·qt·php
郭涤生17 分钟前
STL vector 扩容机制与自定义内存分配器设计分析
c++·算法
航Hang*18 分钟前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
周杰伦fans19 分钟前
C# required 关键字详解
开发语言·网络·c#
༾冬瓜大侠༿21 分钟前
vector
c语言·开发语言·数据结构·c++·算法
cccyi731 分钟前
【C++ 脚手架】etcd 的介绍与使用
c++·服务发现·etcd·服务注册