const double NEWTONS_PER_POUND = 4.448;int main(){ double pounds,newtons; pounds = newtons/NEWTONS_PER_POUND; /* pounds equals 'unassigned variable'/4.448 */ newtons = 10.0; cout << pounds << endl; /* a big number,not 10.0/4.448 */ return 0;}
作者希望cout能够显示正确的计算结果,而是获得一个“疯狂的数字”.
我会解释为“C是程序性的,因此在宣布时
pounds = newtons/NEWTONS_PER_POUND;
尚未为牛顿分配值.
还有更好的建议?或者解释为什么C不够“聪明”来执行用户错误预期的行为?
解决方法 告诉作者pounds = newtons/NEWTONS_PER_POUND;
命令cpu到
>取地址上的值称为“牛顿”
>在地址处取值“NEWTONS_PER_POUND”
>分开他们
>将结果存储在称为“磅”的地址
他正在寻找的东西很可能是命令式的功能:
double newtons_to_pounds(double newtons) { return newtons/NEWTONS_PER_POUND;}...newtons = 10.0;cout << newtons_to_pounds(newtons) << endl; /* a big number,not 10.0/4.448 */return 0;总结
以上是内存溢出为你收集整理的解释C中声明性谬误的最佳方法是什么?全部内容,希望文章能够帮你解决解释C中声明性谬误的最佳方法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)