我正在编写程序,并且已经在此部分停留了很长时间。
int y;
y = 111 % pow(10,2);
printf("%d",y);
显示的错误是invalid operands of types 'int' and 'double' to binary 'operator%'
。
对此有任何解决方法(即使用pow()
函数)吗?
答案 0 :(得分:8)
在C中,pow
返回double
,而与输入参数的类型无关。
并且double
不能用作%
的参数。
因此,编译器会发出错误消息。
解决方案是使用10 * 10
而不是使用pow
将数字提高到第二幂。请注意,由于%
的优先级与*
相同,因此您需要将表达式写为111 % (10 * 10)
。
答案 1 :(得分:-1)
double
实际上返回一个%
,模运算符fmod
无法对其进行操作。
请尝试使用math.h
方法(在dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
中声明)。