c - 这个只在空格前打印单词的c代码有什么问题
问题描述
我已经写了这段代码,但它只打印空格前的单词
void LetterCapitalize(char str[])
{
int i;
char res[50];
res[0] = str[0] - 32;
for(i=1;i<=strlen(str);i++)
{
if(str[i] == 32)
{
res[i++] = str[i++] - 32;
}
else
res[i] = str[i];
}
printf("%s",res);
}
int main(void) {
// keep this function call here
LetterCapitalize(gets(stdin));
return 0;
}
解决方案
推荐阅读
- sql - 抓取表中的所有行列,除了在一列中具有非唯一值的行
- c# - 如果满足条件公式水晶报表,则禁止或写入文本
- javascript - 如何处理nodejs中的内部查询?
- c# - 如何在“Setup”/“Verify”中使用“out”参数来模拟类方法?
- reactjs - 使用 moxios 使用 queryParams 模拟 axios 获取请求
- firebase - 删除的 Firestore 数据不会减少存储的数据配额
- jquery - 如何从该函数中获取键 => 值对中的值
- python - 如何对两个元组列表求和
- java - 如何在 Map java 中允许重复值?
- c# - C# 属性分配错误