【发布时间】:2021-12-04 17:49:06
【问题描述】:
我是一名学生,刚接触编程
我正在尝试将每个单词的第一个字母大写,其余的小写。
当前的输出是即使我输入了 2 个或更多单词,也只打印了第一个单词。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int i;
char str[100];
char rev;
int len = 0;
cout << "Enter a string: ";
cin >> str;
len = strlen(str);
for (i = 0; i < len; i++)
{
if (i == 0)
{
str[i] = toupper(str[i]);
}
else
{
str[i] = tolower(str[i]);
}
cout << str[i];
}
}
【问题讨论】:
-
提示,读完后尝试打印 str 并验证你读过的内容。
-
这并没有解决问题,但
int len = 0; ... len = strlen(str);应该是int len = strlen(str);。用无意义的值初始化对象并立即覆盖该值是没有意义的。只需将其初始化为您需要的值即可。
标签: c++ c++11 visual-c++ c++14