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

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

运行结果显示如下
相关推荐
martian66517 小时前
深入解析C++驱动开发实战:优化高效稳定的驱动应用
开发语言·c++·驱动开发
HappRobot17 小时前
python类和对象
开发语言·python
鸡吃丸子17 小时前
React Native入门详解
开发语言·前端·javascript·react native·react.js
盼哥PyAI实验室17 小时前
Python YAML配置管理:12306项目的灵活配置方案
开发语言·python
漂亮的小碎步丶17 小时前
【启】Java中高级开发51天闭关冲刺计划(聚焦运营商/ToB领域)
java·开发语言
hd51cc17 小时前
MFC运行时
开发语言·mfc
FMRbpm17 小时前
用队列实现栈
数据结构·c++·新手入门
wniuniu_17 小时前
ceph一些细节处理
开发语言·ceph
hd51cc17 小时前
异常处理(Exception Handling)
开发语言
SadSunset18 小时前
(19)Bean的循环依赖问题
java·开发语言·前端