每天一道C语言题目

从今天开始我每天最少会做一道C语言的题目。

题目:


以下程序的运行结果是? (友情提示:字符'2'的ASCII码值为50)。

#include <stdio.h>
int main()
{
    char a = '1', b = '2';
    printf("%c,", b++);       
    printf("%d", b - a);      
    return 0;
}


我们知道类型的自动转换,也就是char进行运算的时候,会自动转换为int。

b++;输出b,b是字符,理所当然输出’2’;然后b++,相等于b = b+1; b+1的结果是int类型的51,而不是字符’3’;只是把这个int类型的51赋给char类型b之后,因此b保存的是字符’3’;

接下来b-a; 两个char变量自动转换为int,得到的结果是int类型的2;

C语言格式化输出是我们控制,而C++是根据表达式的结果自动判断类型的(当然我们可以强制转换),弄懂这一点很有必要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值