为了账号安全,请及时绑定邮箱和手机立即绑定

将程序的5,6行改动后,为什么会出现如图所示的结果?

将程序的5,6行改动后,为什么会出现如图所示的结果?

C
Rebellious_2016 2016-11-01 19:49:31
#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; }将第5,6行改为:c1=197; c2=198;为什么会出现如下结果?
查看完整描述

3 回答

?
藏天慕道

TA贡献3条经验 获得超16个赞

char* 是指针型数据,是指向 char  类型数据的指针。

short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。

//img1.sycdn.imooc.com//58194a3a0001973706270165.jpg

查看完整回答
1 反对 回复 2016-11-02
?
一叶追寻

TA贡献38条经验 获得超23个赞



第一行输出是因为ASCII值的范围是0到127,取值超出范围了没有对应的值;就只能够输出问号了

第二行是因为你定义的c1和c2是char类型,转换成整型时出错,把第四行改成 int c1,c2;


查看完整回答
1 反对 回复 2016-11-02
?
一毛钱

TA贡献156条经验 获得超57个赞

超过了ANSI值,ANSI好像最大的是127 超过以后不被识别

查看完整回答
反对 回复 2016-11-02
  • 3 回答
  • 0 关注
  • 1302 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信