求教C基础问题,为什么用不了pow()?
本文介绍了求教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屋!
查看全文