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吗? 展开
以下程序的输出结果是 。
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吗? 展开
4个回答
展开全部
程序基本没有问题啊。我修改优化了一下,代码如下:
#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; }
#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; 就可以了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%d是打印字符的ASII值
追答
其中字符0的值为48,6为54,和为102
追问
谢谢!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询