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

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

运行结果显示如下
相关推荐
geminigoth13 小时前
python入门三:字典、输入、while循环
开发语言·python
牛油果子哥q13 小时前
【C++ this指针】C++ this指针深度精讲:this底层本质、存储位置、调用机制、const this指针、空指针调用、面试坑点与工程实战
开发语言·c++·面试
胡萝卜的兔13 小时前
go使用voidint实现版本切换
开发语言·chrome·golang
坚果派·白晓明13 小时前
[鸿蒙PC三方库移植适配] 使用 AtomCode + Skills 自动完成spdlog鸿蒙化适配
c++·华为·ai编程·harmonyos·skills·atomcode
小禹在努力13 小时前
brpc1.15问题实录:bthread_worker_count取Node CPU,K8s缩容引发线程数超限
c++·微服务·rpc
Never_love_MCI!13 小时前
洛谷P15799 [GESP202603 五级] 找数 题解
数据结构·c++·算法
思麟呀13 小时前
C++11核心特性(二):constexpr
开发语言·c++
程序员二叉13 小时前
【Java】String 全套高频面试题详解
java·开发语言·面试
阿里嘎多学长14 小时前
2026-06-07 GitHub 热点项目精选
开发语言·程序员·github·代码托管
字节高级特工14 小时前
C++11(三)终极指南:可变参数模板与包装器详解
java·开发语言·c++·后端