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

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

运行结果显示如下
相关推荐
xuboyok27 分钟前
PHP vs Java:核心差异与选型指南
开发语言·前端·php
南境十里·墨染春水11 分钟前
C++笔记 继承关系中构造和析构顺序(面向对象)
开发语言·c++·笔记
榴莲omega14 分钟前
第10天:手写 bind 与 柯里化 | 从疑惑到通透
开发语言·javascript·ecmascript·bind·柯里化
okiseethenwhat16 分钟前
Java 进程 CPU 飙高排查全流程详解
java·开发语言
回到原点的码农20 分钟前
GO 快速升级Go版本
开发语言·redis·golang
是娇娇公主~23 分钟前
详解布隆过滤器
c++
逆风局?23 分钟前
程序设计语言与语言处理程序基础
开发语言
cch891831 分钟前
PHP与汇编:高级与低级的终极对决
开发语言·汇编·php
lsx20240633 分钟前
SQL NOW() 函数详解
开发语言
Gkoob40 分钟前
Vue3+Three.js 打造实时设备状态 3D 可视化面板
开发语言·javascript·3d