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

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

运行结果显示如下
相关推荐
超梦dasgg13 小时前
Java 生产环境 Maven 实战指南
java·开发语言·maven
A_humble_scholar13 小时前
C++11 学习笔记:统一初始化、右值引用与完美转发
c++·笔记·学习
叶子野格13 小时前
《C语言学习:位运算》17
c语言·开发语言·c++·学习·visual studio
RSTJ_162513 小时前
PYTHON+AI LLM DAY SIXTY-FOUR
开发语言·python
覆东流13 小时前
Java开发环境搭建
java·开发语言·后端
阿洛学长14 小时前
VMware安装虚拟机教程(超详细)
java·linux·开发语言
rit843249914 小时前
链路预测(Link Prediction)MATLAB 实现
开发语言·matlab
jiayong2314 小时前
01 检查 Python 版本与环境
开发语言·python
晚风吹红霞14 小时前
C++ stack 和 queue 完全指南:适配器模式与双端队列的奥秘
c++·算法·适配器模式
就叫_这个吧14 小时前
Java普通类、抽象类、接口的应用和区别
java·开发语言