数据类型int和char

#include <stdio.h>
int main()
{
char c1,c2;
c1 = 97;
c2 = 98;
printf(“c1=%c,c2=%c\n”,c1, c2);
printf(“c1=%d,c2=%d\n”,c1, c2);
return 0;
}



    (1)运行会输出什么信息?为什么?
    (2)如果将程序4、5行改为:c1=197,c2=198。运行时会输出什么信息?为什么?
    (3)如果将程序第3行改为: int c1,c2。运行时会输出什么信息?为什么?


   (1) c1=a  c2=b
       c1=97  c2=98
       int表示整形,%c是输出字符,a的ASCll代码是97,b的是98,所以c1=a,c2=b
       %d表示输出十进制整数,所以输出c1=97,c2=98
   (2)c1=? c2=?
       c1=-59,c2=-58  
       如果定义char c1,c2,默认为有符号的char型,取值范围为-128~127,
       因此输出的是197-256=-59,198-256=-58,用%c一般机器输出的是?,
       一般的就输出0-127能输出字符。
    (3)c1=a  c2=b
       c1=97  c2=98
       如果给c1,c2的赋值是97 98用%c输出结果与(1)相同,
       若赋值197 198,是不可预料字符。用%d输出时,输出整数197 198,
       因为在int类型的有效范围内。
  
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值