C 错误:二进制的操作数无效%(具有‘;结构分数*’;和‘;结构分数*’;)
我试图创建一个简单的程序,它接受一个分子和分母,然后将其拆分,并显示简化的形式。当我编译程序时,出现以下错误,我无法理解错误是什么:C 错误:二进制的操作数无效%(具有‘;结构分数*’;和‘;结构分数*’;),c,struct,C,Struct,我试图创建一个简单的程序,它接受一个分子和分母,然后将其拆分,并显示简化的形式。当我编译程序时,出现以下错误,我无法理解错误是什么: workshop9.c: In function ‘simplify’: workshop9.c:30:14: error: invalid operands to binary % (have ‘struct Fraction *’ and ‘struct Fraction *’) workshop9.c:31:14: error: invalid operan
workshop9.c: In function ‘simplify’:
workshop9.c:30:14: error: invalid operands to binary % (have ‘struct Fraction *’ and ‘struct Fraction *’)
workshop9.c:31:14: error: invalid operands to binary / (have ‘struct Fraction *’ and ‘int’)
以下是我得到错误的行:
25 void simplify(struct Fraction *var1, struct Fraction *var2) {
26
27 int num1;
28 int num2;
29
30 num1 = var1 % var2;
31 num2 = var2 / 10;
32 }
您不能在
C
中的结构上使用运算符%
而是直接访问其成员变量
,该变量为本机类型
整数
例如:
num1 = var1->somemember % var2->somemember;
num2 = var2->somemember / 10;