C语言问题求解 以下程序的输出结果是 。 main() { char c1=’6’

C语言问题求解以下程序的输出结果是。main(){charc1=’6’,c2=’0’;printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);... C语言问题求解
以下程序的输出结果是 。
main()
{
char c1=’6’,c2=’0’;
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
答案是6,0,6,102 为什么?c1+c2不是6吗?
展开
 我来答
敏红叶孤Uk
2014-11-13 · TA获得超过188个赞
知道答主
回答量:115
采纳率:0%
帮助的人:54.2万
展开全部
程序基本没有问题啊。我修改优化了一下,代码如下:
#include<stdio.h>int main(void){ int choice,i; //double price; // 这里不用price了,优化掉了 for(i=1;i<=5;i++) { printf("[1]apples \n"); printf("[2]pears \n"); printf("[3]oranges \n"); printf("[4]grapes \n"); printf("[0]exit \n"); printf("Enter choice: "); scanf("%d",&choice); if(choice==0) break; switch(choice) { case 1: printf("[1]apple price=3.0\n\n"); // 直接将结果显示出来了,无需price中转,也不用在后面去写if else语句了。 break; case 2: printf("[2]pears price=2.5\n\n"); break; case 3: printf("[3]oranges price=4.1\n\n"); break; case 4: printf("[4]grapes price=10.2\n\n"); break;        //后面的defalut ,可以不要了。因为不是这里面的水果,根本就不用显示。 } } printf("Thanks \n"); return 0; }
匿名用户
推荐于2018-03-04
展开全部
因为 c1、c2 赋的值是字符,不是数字 。把char c1=’6’,c2=’0’; 改成 char c1 = 6, c2 = 0; 就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qinflying
2014-11-13 · 一个低调有内涵的技术人员
qinflying
采纳数:452 获赞数:1415

向TA提问 私信TA
展开全部
%d是打印字符的ASII值
追答
其中字符0的值为48,6为54,和为102
追问
谢谢!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友637da4f
2019-11-09
知道答主
回答量:1
采纳率:0%
帮助的人:647
展开全部
%d为其表示的十进制数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式