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

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

运行结果显示如下
相关推荐
Madison-No74 分钟前
【C++】日期类运算符重载实战
c++·算法
椰子今天很可爱11 分钟前
线程分离和线程同步互斥
linux·c++
lljss202025 分钟前
C# 每个chartArea显示最小值、平均值、最大值
开发语言·c#
小柯J桑_31 分钟前
Linux:线程控制
linux·c++·算法
1白天的黑夜136 分钟前
栈-1047.删除字符串中的所有相邻重复项-力扣(LeetCode)
c++·leetcode·
yzpyzp39 分钟前
kotlin的函数前面增加suspend关键字的作用
android·开发语言·kotlin
jiet_h40 分钟前
Android Kotlin ObjectAnimator 和 ValueAnimator 全面解析
android·开发语言·kotlin
Q_Q196328847541 分钟前
python+springboot大学生心理测评与分析系统 心理问卷测试 自动评分分析 可视化反馈系统
开发语言·spring boot·python·django·flask·node.js·php
Android技术之家44 分钟前
Kotlin与Compose:Android开发的现代化变革
android·java·开发语言·kotlin
十八旬1 小时前
【超简单】后端入门案例-基于SpringBoot+MyBatis-plus+MySQL图书管理系统
java·开发语言·idea·intellij idea·项目实战