求教C基础问题,为什么用不了pow()?

查看:202
本文介绍了求教C基础问题,为什么用不了pow()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我试图把一串数字(number)的倒数第二个数字与倒数第四个数字相加。
确实使用了math.h的头文件。
其中我的变量是:

long_long number;
int other;

出错的部分是:

other = number / 10 % 10;
other = other + number / pow(10, 3) % 10;

第二句显示error: invalid operands to binary expression ('double' and 'double')。
这是为什么?我的变量又不是double…再怎么说输出的也是个非负的整数才对吧?

虽然可以用1000替换,可我之后要写到pow(10, 13)...
求教!

解决方案

pow的返回值类型是double,所以不能取模。

用强制转换,转换成整数类型就可以取模了: (long long)(number / pow(10, x)) % 10

这篇关于求教C基础问题,为什么用不了pow()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆