第一个函数的任务是判断 string 对象中是否含有大写字母,无须修改参数的内容,因此将其设为常量引用类型。第二个函数需要修改参数的内容,所以应该将其设定为非常量引用类型。满足题意的程序如下所示:
#include <iostream> #include <Windows.h> using namespace std; bool hasUpper(const string& str) { //判断字符串中是否含有大写字母 for (auto c:str) { if (isupper(c)) { return true; } } return false; } void ChangeToLower(string& str) { //把字符串中的大写字母转换为小写字母 for (auto& c : str) { c = tolower(c); } } int main() { string str; cout << "请输入一个字符串:" << endl; cin >> str; if (hasUpper(str)) { ChangeToLower(str); cout << "转换后的字符串为:" << str << endl; } else { cout << "字符串中无大写字母,无需转换!" << endl; } }标签:string,对象,大写字母,str,编写,函数 From: https://www.cnblogs.com/smartlearn/p/17557717.html