c语言中getchar 接收字符,返回的是ASCLL码值所以用int来定义类型 那所有函数的返回值都是ascill码值吗
当然不是了,不同函数的返回值,由函数的实际功能决定要返回啥类型。
有些也可以没有返回值,按实际情况而定
getchar()函数可以从键盘输入一个字符。其一般用法为:
char ch;
ch = getchar();
这句话就是从键盘输入一个字符,并将其赋给变量ch。
根据参考资料中的代码,可以看出getchar函数的返回值为输入字符的ASCII码值。但并不是所有函数的返回值都是ASCII码值,返回值的类型和含义取决于具体的函数。
对于问题中的代码,输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。那么我们可以通过使用getchar()函数获取输入的字符,然后通过比较ASCII码值的大小来排序这三个字符。
以下是代码示例:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
getchar(); // 吸收回车键
while (n--) {
char a, b, c;
scanf("%c%c%c", &a, &b, &c);
getchar(); // 吸收回车键
// 对三个字符进行排序
if (a > b) {
char temp = a;
a = b;
b = temp;
}
if (a > c) {
char temp = a;
a = c;
c = temp;
}
if (b > c) {
char temp = b;
b = c;
c = temp;
}
printf("%c %c %c\n", a, b, c);
}
return 0;
}
这段代码会从输入中读取n的值,然后使用循环处理每一组测试数据。对于每组测试数据,将会读取三个字符,并通过比较ASCII码值的大小对它们进行排序,最后按顺序输出这三个字符。