#include "stdio.h" #include "string.h" char chupper(char ch); void main() { char ch; do { ch=getchar(); if(ch>='a'&&ch<='z') { ch=chupper(ch); } printf("%c",ch); } while(ch!='0'); } char chupper(char ch) { return ch>='a'?ch-32:ch; }
时间: 2024-01-15 12:03:53 浏览: 105
这段代码的功能是将输入的字符串中的小写字母转换成大写字母并输出,直到输入字符 '0' 为止。
具体实现过程如下:
1. 引入头文件 `stdio.h` 和 `string.h`;
2. 声明函数 `char chupper(char ch)`,用于将小写字母转换成大写字母;
3. 在主函数中,声明字符型变量 `ch`;
4. 使用 `do-while` 循环不断读入字符,并判断是否为小写字母,如果是,调用 `chupper` 函数将其转换成大写字母;否则直接输出;
5. 如果输入字符为 '0',退出循环;
6. 程序结束。
函数 `chupper` 的实现方法是,如果输入的字符是小写字母,就将其 ASCII 码值减去 32,即转换成对应的大写字母,否则直接返回原字符。
需要注意的是,函数 `chupper` 的返回值类型应该是 `char` 而非 `int`。
将代码修改为格式更规范的版本:
```c
#include <stdio.h>
#include <string.h>
char chupper(char ch);
int main() {
char ch;
do {
ch = getchar();
if (ch >= 'a' && ch <= 'z') {
ch = chupper(ch);
}
printf("%c", ch);
} while (ch != '0');
return 0;
}
char chupper(char ch) {
return ch >= 'a' ? ch - 32 : ch;
}
```
如果输入字符串 "hello, world!",输出结果为 "HELLO, WORLD!"。
阅读全文