大学C语言,为什么选B,求解!

 我来答
My_Persistence
2018-01-09 · TA获得超过3470个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:458万
展开全部
//解释如下,b输出的字符实际上是空格字符,代码如下
#include <stdio.h>
int main()
{
char a,b;
int s;
printf("please input a and b:\n");
a=getchar();
b=getchar();
s=a+b;
printf("a=%c,b=%c",a,b);
printf("\na=%d,b=%d\n",a,b);
return 0;
}
//运行结果
F:\c_work>a.exe
please input a and b:
1 2
a=1,b=
a=49,b=32  //字符1的ASCII码是49,空格的ASCII码是32
//为什么是空格呢?
输入: 1<空格>2<回车>
因此标准输入缓冲区的内容是"1<空格>2\n",那么它把1赋值给了变量a,空格字符赋值给了变量b,赋值就结束了,字符2实际上并没有被赋值给变量b的,所以输出结果是答案B选项。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2018-01-09 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450142
专业C/C++软件开发

向TA提问 私信TA
展开全部
输入1 2
getchar读入两个字符.
a='1'
b=' '//空格.
所以 输出a b值 就是
a=1 b=
b=后面有一个空格的.
选B
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-01-09 · 超过35用户采纳过TA的回答
知道答主
回答量:87
采纳率:50%
帮助的人:43.7万
展开全部
getchar函数以用户输入换行作为结束标志,一个getchar取一个字符,a取1,b取空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
滕州吴彦猪
2018-01-09
知道答主
回答量:1
采纳率:0%
帮助的人:939
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式