C语言中的这个各类数值混合运算的题怎么解?最好发截图 10+‘a’+1.5-8765.1234*‘b’
答案:4 悬赏:30 手机版
解决时间 2021-03-18 12:11
- 提问者网友:姑娘长的好罪过
- 2021-03-17 20:06
C语言中的这个各类数值混合运算的题怎么解?最好发截图 10+‘a’+1.5-8765.1234*‘b’
最佳答案
- 五星知识达人网友:狂恋
- 2021-03-17 20:54
C语言中,如果char格式的字符参与到数字运算中,其实际值为它的ASCII码值。每个符号(字母,数字,标点符号,甚至空格都算作符号)都有它对应的ASCII码值。通过查表很容易获得。小写a的值是97,b是98.所以这个式子等效于:
10+97+1.5-8765.1234*98= -858873.5932
任何的C语言软件都应该是这个结果,因为C语言中char格式的字符参与运算将自动转换为其ascii码值。所以不用转换。
10+97+1.5-8765.1234*98= -858873.5932
任何的C语言软件都应该是这个结果,因为C语言中char格式的字符参与运算将自动转换为其ascii码值。所以不用转换。
全部回答
- 1楼网友:狂恋
- 2021-03-17 23:03
不会
- 2楼网友:廢物販賣機
- 2021-03-17 22:06
先算乘法,然后加减法从左到有计算。你可以搜索一下c需要运算符的优先级,会得到满意的答案。
- 3楼网友:傲气稳了全场
- 2021-03-17 21:50
混合运算时将精度低的转化为精度高的,这样不容易丢失数据
1 所有的字符是一个字节,转化为 int 型的四个字节。
2 所有的浮点型都会转化为双精度浮点型
3 所有的 int 型都转化为浮点型。
最后的结果是 double 双精度浮点型
double f = 10+'a'+1.5-8765.1234*'b';
pringf("f = %lf\n",f);
10.0 + 97.0 + 1.5 - 8765.1234*98.0 = -858873.593200
输出的结果为:
-858873.593200
在VC6.0 中编译运行结果。
1 所有的字符是一个字节,转化为 int 型的四个字节。
2 所有的浮点型都会转化为双精度浮点型
3 所有的 int 型都转化为浮点型。
最后的结果是 double 双精度浮点型
double f = 10+'a'+1.5-8765.1234*'b';
pringf("f = %lf\n",f);
10.0 + 97.0 + 1.5 - 8765.1234*98.0 = -858873.593200
输出的结果为:
-858873.593200
在VC6.0 中编译运行结果。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯