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

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

运行结果显示如下
相关推荐
j_xxx404_6 分钟前
蓝桥杯基础--递归
数据结构·c++·算法·蓝桥杯·排序算法
左左右右左右摇晃7 分钟前
Java并发——Lock锁
java·开发语言·笔记
tankeven7 分钟前
HJ145 小红背单词
c++·算法
聆风吟º10 分钟前
【C标准库】深入理解C语言memcpy函数:用法、原理与避坑指南
c语言·开发语言·memcpy·库函数
书到用时方恨少!11 分钟前
基于 Three.js 的 3D 地球可视化项目
开发语言·javascript·3d
j_xxx404_11 分钟前
蓝桥杯基础--枚举
数据结构·c++·算法·蓝桥杯
泯仲14 分钟前
RAG系统核心之意图识别与意图树实现全解析
开发语言·大模型·agent·rag
mjhcsp14 分钟前
C++ 信息论(Information Theory)完整万字教程
开发语言·c++
Anastasiozzzz15 分钟前
编程语言错误处理的清流:Go 错误处理
开发语言·后端·golang
四维碎片16 分钟前
【Qt】 无边框窗口方案
开发语言·qt