C语言 putchar()问题。

{intc1=getchar(),c2=getchar();//charc1=getchar(),c2=getchar();//getchar();getchar();/... {
int c1=getchar(),c2=getchar();
//char c1=getchar(),c2=getchar();
//getchar();getchar();
//putchar(c1);putchar(c2);putchar('\n');
putchar('c1');putchar('c2');putchar('\n');
//printf("c1=%c,c2=%c\n",c1,c2);
//printf("c1=%d,c2=%d\n",c1,c2);
}
输出结果为12,改c1c2为c3c4,则结果改为34,这是为何?
展开
 我来答
high歌
2013-03-15 · TA获得超过361个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:157万
展开全部
  你不明白什么是字符变量,字符变量存储数值在C语言中的表现形式。'c1'是值(当然,这个值是非法的,因为一个字符变量只能存储一个字符),c1(不带引号)是变量,变量存储的是值(带引号)。
  putchar的函数参数只能是一个字符,你的程序中'c1'并不是一个字符。程序会忽略c,只输出'1',实际上等同putchar('1');,所以你改为c3,c4就相当于putchar('3');putchar('4');就输出34。
  你想输出c1的值就不能加引号,改为putchar(c1);
  还有,为了保持数据的一致,应该将变量c1和c2定义为字符型数据:char c1=getchar(),c2=getchar();
Hello过客
2013-03-15
知道答主
回答量:68
采纳率:0%
帮助的人:12.9万
展开全部
putchar()函数一次只能输出一个字符,同时‘c1'不是变量,是字符常量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghosthn2007
2013-03-15 · TA获得超过117个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:105万
展开全部
你的putchar('c1'),打出的肯定不是变量c1的字符。至于输出可能是这样的,
putchar('c1');putchar('c2'); 输出了 12

putchar('c3');putchar('c4'); 输出了 34
只输出了数字。。。至于 为什么 ,这个不清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sqiuzhao
2013-03-15 · TA获得超过1347个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:416万
展开全部
我郁闷了,你这些结果是怎么得出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式