为什么我不能这样做:
Time calcTime(Time time1, Time time2)
{
Time calc1;
Time calc2;
calc1.hours - calc2.hours; // It won't subtract!
printf("Result: ", calc1.hours);
}
如果time1.hours为10且time2.hours为5,则结果应为5.但结果为10,因为减法不起作用!
答案 0 :(得分:5)
也许你打算写:
calc1.hours -= calc2.hours
您在代码中执行的操作只是计算两个值的差异,但不会将其分配给任何值。它将没有任何效果,根据编译器选项,您可能会收到警告甚至错误。
答案 1 :(得分:2)
您没有将差异分配给任何变量。
你需要这样做:
calc1.hours = calc1.hours - calc2.hours;
printf("Result: ", calc1.hours);
或:
Time calc;
calc.hours = calc1.hours - calc2.hours;
printf("Result: ", calc.hours);
答案 2 :(得分:0)
您没有更改calc.hours
,calc
甚至不存在。这段代码没有编译。