C语言程序运行无输出 新手求助排查代码问题
C代码无输出问题排查及修复
代码存在的错误点
- for循环终止条件写法错误:
fahr = 0是赋值操作而非判断逻辑,C语言中赋值表达式的返回值为被赋的值也就是0,对应逻辑假,因此循环从始至终都不会执行,自然没有任何输出。符合需求的判断条件应为fahr >= 0,可以覆盖320到0每次减20的所有取值。 - 温度转换表达式存在语法错误:
(5.0 / 9.0) *.(fahr - 32)中的*.是非法语法,多余的小数点会导致编译失败,无法生成正确的可执行程序,改为*(fahr - 32)即可。 - main函数定义不符合C标准规范:老式的隐式int返回写法已经在C99及更高版本标准中被移除,建议改为标准写法
int main(void),并在函数末尾添加return 0;标识程序正常结束。
修正后可正常运行的代码
#include <stdio.h> int main(void) { int fahr; for (fahr = 320; fahr >= 0; fahr = fahr - 20) { printf("%d %f\n", fahr, (5.0 / 9.0) * (fahr - 32)); } return 0; }
内容的提问来源于stack exchange,提问作者Winson
相关产品推荐
相关产品推荐

