用gets输入一个字符串,调用自定义函数将字符串中的小写字母改写为大写字母,在主函数中输入改写后的字符串
时间: 2024-02-13 20:01:35 浏览: 84
好的,我理解了你的问题。以下是一个示例程序,可以满足你的要求:
```c
#include <stdio.h>
#include <ctype.h>
void convertToUpper(char str[]) {
int i = 0;
while (str[i] != '\0') {
if (islower(str[i])) {
str[i] = toupper(str[i]);
}
i++;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
convertToUpper(str);
printf("改写后的字符串为:%s\n", str);
return 0;
}
```
在这个程序中,我们首先使用 `gets()` 函数来读取一个字符串。然后,我们调用了一个自定义函数 `convertToUpper()` 来将字符串中的小写字母改成大写字母。这个函数的实现很简单,就是遍历字符串中的每个字符,如果是小写字母就用 `toupper()` 函数将其转换成大写字母。最后,在主函数中输出改写后的字符串。
需要注意的是,`gets()` 函数已经被标记为不安全的函数,因为它没有办法限制输入的长度,容易导致缓冲区溢出。更好的做法是使用 `fgets()` 函数来读取字符串,可以指定最大读取的字符数,避免溢出。不过,为了方便起见,这里还是使用了 `gets()` 函数。
阅读全文