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

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

运行结果显示如下
相关推荐
南猿北者1 分钟前
go环境搭建--Linux
linux·开发语言·golang
云和数据.ChenGuang3 小时前
Ascend C 核心技术特性
c语言·开发语言
kyle~6 小时前
C++---value_type 解决泛型编程中的类型信息获取问题
java·开发语言·c++
NiNi_suanfa9 小时前
【Qt】Qt 批量修改同类对象
开发语言·c++·qt
小糖学代码9 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
Data_agent9 小时前
1688获得1688店铺详情API,python请求示例
开发语言·爬虫·python
信奥胡老师10 小时前
苹果电脑(mac系统)安装vscode与配置c++环境,并可以使用万能头文件全流程
c++·ide·vscode·macos·编辑器
妖灵翎幺10 小时前
C++ 中的 :: 操作符详解(一切情况)
开发语言·c++·ide
Halo_tjn10 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
star _chen10 小时前
C++实现完美洗牌算法
开发语言·c++·算法