求各位帮忙。感谢感谢

 

1、变量c1和c2的类型定义为字符型或整形都是可以的,因为字符在底层就是以其对应的ASCII码值存储的,也就是一个十进制的整数。

2、整形变量和字符变量并不是可以在任何情况下都可以互相代替,因为字符的大小只有一个字节,存储的数据范围比整形要小,所以不能相互代替,但是如果是字符的取值范围(有符号字符类型的取值范围是:-128~127)内应该是可以相互代替的。

参考链接:


https://zhidao.baidu.com/question/1760841186484584548.html

https://it.cha138.com/tech/show-161414.html

#include <stdio.h>


void useCharTest(){
    
    char c1,c2;
    printf("\n\n变量c1,c2使用字符类型的测试结果:\n"); 
    printf("请输入两个字符(ex:ab): ");
    c1=getchar();
    c2=getchar();
    
    printf("使用putchar函数打印:");
    putchar(c1);
    putchar(c2);
    
    printf("\n\n使用printf函数打印:");
    printf("%c%c",c1,c2);
    
    // https://blog.csdn.net/weixin_63228975/article/details/125586416
    fflush(stdin);
        
} 


void useIntTest(){
    

    int c1,c2;
    printf("\n\n变量c1,c2使用整形类型的测试结果:\n");
    printf("请输入两个字符(ex:ab): ");
    c1=getchar();
    c2=getchar();
    
    printf("使用putchar函数打印:");
    putchar(c1);
    putchar(c2);
    
    printf("\n\n使用printf函数打印:");
    printf("%c%c",c1,c2);    
    
    fflush(stdin);
} 


int main(void){
    
    useCharTest();
    useIntTest();
    
    return 0; 
} 

img