两段简单的C语言输入输出代码,这是为什么??

 我来答
那有福双倩
2020-01-25 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:31%
帮助的人:657万
展开全部
首先,第一个问题电脑返回的是ASCII码,而你的输出语句%d,是输出整形数字的,所以计算机输出的是相应字母的ASCII值。想要输出字母,应为%c就可以了。
第二题,s是char类型的,建议使用int型,可能是因为计算机强制转化类型时会丢失字节。
建议您看看谭浩强的书,再按格式输出那一章讲得很好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
善秋芹莫鹃
2020-03-30 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:33%
帮助的人:931万
展开全部
第一题:
那个是ASCII编码的结果
你输入的是char类型的数据,输出的是数字类型,这里面存在一个字符到数字的转换的过程,所对应的是ASCII码的字符编码数字
首先,在你的scanf函数中,双引号区域中是没有空格的,而你输入的可是带空格的abc(a
b
c),这里面就有了一个需要注意的地方:
在你输入信息时候,一定要严格遵守scanf函数中的双引号区域中的格式.
别忘了,空格也算一个字符!
经过"a
b
c"的信息输入的过程后,计算机读到的信息是:a、空格、b。
根据ASCII编码的定义:
a=97
空格=32
b=98
故输出的结果是:97,32,98
第二题:
本题与第一题相似,都是使用字符和ASCII编码之间的切换
回车(换行符)的ASCII编码是10
使用scanf函数输入字符数据时,由于是字符类型,那么输入数据之后的空格也将被当做字符数据输入,下一次读取时,数据完的回车字符就会被读入,自动读取,而那个乱码就是回车字符的表示。
如果你只想输入一个字符,可以使用:getch函数,使用方法:c=getch();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蚁元斐咸淑
2019-08-25 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:624万
展开全部
C语言常用输入输出函数:
printf
格式输出到屏幕
fprintf
格式输出到磁盘
scanf
从屏幕格式输入
fscanf
从磁盘格式输入
putchar
字符输出到屏幕
puts
字符串输出到屏幕
fputc
字符输出到磁盘
fputs
字符串输出到磁盘
getchar
从屏幕得到一个字符
gets
从屏幕得到一个字符串
fgetc
从磁盘得到一个字符
fgets
从磁盘得到一个字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式