编一个函数void fun(char tt[]),它的功能是:将字符串tt中的大写字母都改为对应的小写字母,其它字符不变。
时间: 2023-04-30 21:01:03 浏览: 103
以下是函数的代码实现:
void fun(char tt[]) {
int i = ;
while (tt[i] != '\') { // 遍历字符串
if (tt[i] >= 'A' && tt[i] <= 'Z') { // 判断是否为大写字母
tt[i] = tt[i] + 32; // 转换为小写字母
}
i++;
}
}
函数的作用是将字符串tt中的大写字母都转换为对应的小写字母,其它字符不变。函数中使用了while循环遍历字符串,判断每个字符是否为大写字母,如果是,则将其转换为小写字母。最后返回修改后的字符串。
相关问题
#include <stdio.h> #include <string.h> char *fun(char tt[]) { int i; for (i=0; tt[i]; i++) /********found********/ if ((tt[i] >= 'a') || (tt[i]<='z')) /********found********/ tt[i] += 32; return (tt); } void main() { char tt[81]; gets(tt); printf("\n%s", fun(tt)); }
这段代码的功能是将输入的字符串中所有的大写字母转换成小写字母,并返回修改后的字符串。但是代码中存在两处错误:
1. 逻辑运算符应该是 `&&` 而不是 `||`,因为 `||` 表示或者的关系,应该是大于等于 'a' 且小于等于 'z' 才需要执行 `tt[i] += 32` 的操作。
2. 函数 fun 的返回值类型应该是 char*,即返回一个指向字符数组的指针。
下面是修改后的代码:
```c
#include <stdio.h>
#include <string.h>
char* fun(char tt[]) {
int i;
for (i = 0; tt[i]; i++)
if ((tt[i] >= 'A') && (tt[i] <= 'Z'))
tt[i] += 32;
return tt;
}
void main() {
char tt[81];
gets(tt);
printf("\n%s", fun(tt));
}
```
阅读全文