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

2024-12-01 15:17:16
推荐回答(4个)
回答1:

程序基本没有问题啊。我修改优化了一下,代码如下:
#includeint 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; }

回答2:

因为 c1、c2 赋的高拿值是字符,拆念洞不是数字 。把char c1=’6’,c2=’0’; 改旅枯成 char c1 = 6, c2 = 0; 就可以了

回答3:

%d是打印字符的ASII值

回答4:

%d为其表示的十进制数