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

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

运行结果显示如下
相关推荐
雷✘3 小时前
C++ 类与对象的初始化机制、成员访问边界与拷贝优化
java·网络·c++
Ramble_Naylor3 小时前
Rust深度解读:异步流(Async Streams)与生成器的处理艺术
开发语言·后端·rust
努力实干3 小时前
简单工厂模式(Simple Factory Pattern)——C++
开发语言·c++·简单工厂模式
熊猫钓鱼>_>3 小时前
平行视界兼容模式与魔法变量配置避坑【鸿蒙心迹】
运维·服务器·开发语言·笔记·华为·harmonyos·openharmony
大鹏说大话3 小时前
PHP 大文件上传解决方案:分片上传完整思路
开发语言·php
Wang's Blog4 小时前
Java 项目实战:交友项目 - 我的访客:需求说明
java·开发语言·交友
東隅已逝,桑榆非晚4 小时前
算法2. 双指针法-复写零
c++·笔记·学习·算法
布莱克6054 小时前
C++ 中堆和栈的区别详解
开发语言·c++·栈·堆
像风一样自由20205 小时前
3.Dockerfile如何构建一个Python算法镜像
开发语言·人工智能·python·大模型
誰能久伴不乏5 小时前
用 UDP 做一条“可靠“的控制通道
c++·qt·网络协议·udp