学习笔记 905 强制类型转换 还没学明白

#include <stdio.h>
int main()
{
    char ch;
    int i;
    short j;
    float k=32768;
    ch=(char)k;
    i=(int)k;
    j=(short)k;
    printf("the char is:%d\n",ch);
    printf("the int is:%d\n",i);
    printf("the short is:%d\n",j);    
    printf("the float is:%f\n",k);
    return 0;

}

 

一、整体功能描述

这段 C 语言代码在main函数中定义了一个字符变量ch、一个整数变量i、一个短整型变量j和一个浮点型变量k并初始化为 32768。然后通过强制类型转换将k分别转换为字符、整数和短整型,并赋值给chij。最后,使用printf函数分别输出chijk的值。

二、具体代码分析

  1. #include <stdio.h>:引入标准输入输出头文件,以便使用printf等输入输出函数。
  2. int main():定义了程序的入口函数,返回值为整数类型。
  3. char ch;int i;short j;:分别声明了一个字符变量、一个整数变量和一个短整型变量。
  4. float k = 32768;:声明并初始化一个浮点型变量k为 32768。需要注意的是,32768 超出了charshort类型的表示范围。
  5. ch = (char)k;i = (int)k;j = (short)k;:通过强制类型转换将k分别转换为字符、整数和短整型,并赋值给相应的变量。
  6. printf("the char is:%d\n", ch);printf("the int is:%d\n", i);printf("the short is:%d\n", j);printf("the float is:%f\n", k);:分别输出字符、整数、短整型和浮点型变量的值。

三、可能出现的问题

  1. 当将一个超出charshort类型表示范围的值强制转换为charshort类型时,可能会导致数据丢失或出现不可预期的结果。
  2. 在输出字符变量ch时,使用了%d格式说明符,这会输出字符对应的 ASCII 码值。如果想要输出字符本身,应该使用%c格式说明符。

#include <stdio.h>

int main() {
    char ch;
    int i;
    short j;
    float k = 32768;

    ch = (char)k;
    i = (int)k;
    j = (short)k;

    printf("the char is:%c\n", ch);
    printf("the int is:%d\n", i);
    printf("the short is:%d\n", j);
    printf("the float is:%f\n", k);

    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值