
大学C语言,为什么选B,求解!
4个回答
展开全部
//解释如下,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选项。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入1 2
getchar读入两个字符.
a='1'
b=' '//空格.
所以 输出a b值 就是
a=1 b=
b=后面有一个空格的.
选B
getchar读入两个字符.
a='1'
b=' '//空格.
所以 输出a b值 就是
a=1 b=
b=后面有一个空格的.
选B
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getchar函数以用户输入换行作为结束标志,一个getchar取一个字符,a取1,b取空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |