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

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

运行结果显示如下
相关推荐
估值探索者22 分钟前
【Python实时盯盘与预警 #08】成交额突然放大2倍?Python窗口比较抓异动
java·开发语言·python
yk 坤帝28 分钟前
用Python实现发送《自动周报》实战脚本
开发语言·python
abbgogo2 小时前
OSPF动态路由协议
开发语言·php
我不会插花弄玉2 小时前
15.map,set下:AVL树,红黑树和map,set的封装【由浅入深-C++】
c++·stl
en.en..2 小时前
C 语言嵌入式事件驱动状态机完整教程(枚举配套)
c语言·开发语言
hold?fish:palm2 小时前
20 旋转图像
c++·算法·leetcode
Tim_102 小时前
【C++】024、new[]与delete[]配对使用
java·开发语言
Yyyyyy~3 小时前
[C语言]break和continue作业
c语言·开发语言
小黑技术栈3 小时前
Java前端基础到入门——16day
java·开发语言·前端
此生决int3 小时前
深入理解C++系列(10)——lsit
开发语言·c++