我在基本C中做了一项家庭作业,要求我计算某些表达式,然后在程序中检查我的答案。我似乎无法得到任何回答这些问题由我自己计算正确的...在int和double之间执行操作
他们要我用这些变量来解决数学问题:
int a = 2;
double b = 4.7;
int c = 3;
double d = 4.2;
下面是一个例子问题:
int answer1 = b+a/c-d;
我明白,因为它有一个int操作,那么所有的变量转换为整数,所以它应该是这个样子,我认为:
(4 + 2)/(3-4)
当我手动完成时,我得到了-6的答案,但是当我将它作为代码输入时,它给了我一个0的答案。任何人都可以解释这一点吗?我在做错操作的顺序吗?我根本不明白电脑如何得到0。这是我作业中最简单的问题,我不知道。请帮忙!
首先,“据我所知,因为它有一个int操作数,那么所有的变量转换为一个整数“ - 这已经不是真正的。其次,你的C表达式'b + a/c-d'没有大括号。你的数学表达式'(4 + 2)/(3-4)'有大括号。为什么区别? – AnT 2014-09-02 21:14:13
好吧,我现在觉得很愚蠢。那么最终答案是唯一被转换为整数的东西吗?看起来我应该事先拿一个数学课来复习哈哈。谢谢你的帮助! – jlest 2014-09-02 21:19:40