| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 919 人关注过本帖
标题:请问下面代码中的switch后面为什么可以带字符(a)?括号里的表达式不是应该 ...
只看楼主 加入收藏
zhangchen240
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-1-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
请问下面代码中的switch后面为什么可以带字符(a)?括号里的表达式不是应该是整型变量吗??
#include "stdio.h"
#include "math.h"
void main()
{float data1,data2;
char a;
printf("input:");
scanf("%f,%f,%c",&data1,&data2,&a);
switch (a)
{case '+':printf("%f%c%f=%f\n",data1,a,data2,data1+data2);break;
case '-':printf("%f%c%f=%f\n",data1,a,data2,data1-data2);break;
case '*':printf("%f%c%f=%f\n",data1,a,data2,data1*data2);break;
case '/':
{
if (data2==0)
{
printf("不存在\n");
}
else
{
printf("%f%c%f=%f\n",data1,a,data2,data1/data2);
}
}break;
default:printf("无结果\n");
}
}
搜索更多相关主题的帖子: switch 变量 printf case break 
2018-01-23 23:26
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:10 
char类型也可以看作是整型,就是字符的ASCII码。
如getchar()的返回值是int型,getchar函数的返回值是输入字符的ASCII码。
2018-01-24 04:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
看看标准是怎么说的?switch( 任何integer类型的表达式 )

integer类型又是什么呢,标准说其包含 char, signed integer types, unsigned integer types, enumerated types 四种。
signed integer types 包含 signed char, short, int, long, long long
unsigned integer types 包含 _Bool, unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long
2018-01-24 09:47
快速回复:请问下面代码中的switch后面为什么可以带字符(a)?括号里的表达式不是 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.082475 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved