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

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

运行结果显示如下
相关推荐
liulilittle14 小时前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发
森G14 小时前
五、Linux字符设备驱动
linux·arm开发·c++·ubuntu
lly20240614 小时前
并查集快速查找
开发语言
繁星蓝雨14 小时前
我与C++的故事(杂谈)
开发语言·c++
除了代码啥也不会14 小时前
Java基于SSE流式输出实战
java·开发语言·交互
Jacob程序员14 小时前
欧几里得距离算法-相似度
开发语言·python·算法
Slow菜鸟14 小时前
Java项目基础架构(二)| 通用响应与异常
java·开发语言
LQxdp14 小时前
复现-[Java Puzzle #2 WP] HEAD权限绕过与字符截断CRLF
java·开发语言·漏洞复现·java 代码审计
克喵的水银蛇15 小时前
Flutter 弹性布局实战:快速掌握 Row/Column/Flex 核心用法
开发语言·javascript·flutter
sztian6815 小时前
JavaScript---BOM对象、JS执行机制、location对象
开发语言·前端·javascript