getchar和其他函数返回值的区别

c语言中getchar 接收字符,返回的是ASCLL码值所以用int来定义类型 那所有函数的返回值都是ascill码值吗

当然不是了,不同函数的返回值,由函数的实际功能决定要返回啥类型。
有些也可以没有返回值,按实际情况而定

  • 这篇博客: C语言-字符型数据与ASCII码表中的 (2)字符输入函数getchar() 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • getchar()函数可以从键盘输入一个字符。其一般用法为:

    	char ch;
    	ch = getchar();
    

    这句话就是从键盘输入一个字符,并将其赋给变量ch。

  • 以下回答由chatgpt基于相关博客总结生成:

    根据参考资料中的代码,可以看出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码值的大小对它们进行排序,最后按顺序输出这三个字符。