我正在阅读C编程:现代方法,并在底部使用程序来完成作业和声明,我逐字复制它并没有给出预期的输出:
#includeint main(void) { int height, length, width, volume, weight; height = 8; length = 12; width = 10; volume = height * weight * width; weight = (volume + 165) / 166; printf("Dimensions %d x %d x %d\n",length, width, height); printf("Volume (cubic inches) : %d\n",volume); printf("Dimensional weight (pounds) : %d\n", weight); return 0; }
我从该程序获得的输出是:
Dimensions 12 x 10 x 8 Volume (cubic inches) : 0 Dimensional weight (pounds) : 0 Program ended with exit code: 0
我在Xcode中运行它并且程序没有任何错误但仍然打印出来.有关此代码不起作用的任何解决方案?
weight
在表达式中使用它之前不进行初始化volume
.这会导致未定义的行为.看来你的音量公式错了,你应该写
volume = height * length * width;
我认为.
启用编译器警告,你应该避免这种愚蠢的错误,不要采用它们在编码时常见的错误方式,这就是警告信息如此有用的原因.