qq_26123545
ZhongruiRao
采纳率100%
2019-07-19 16:52 阅读 274

请问算值时先定义结果和直接在printf算结果有什么差别?

    float value2;
    printf("plz input the quater of water:");
    scanf_s("%f", &value2);
    float result = 950 * value2 / 3.0e-23;
    printf("\nthe water values %e", result)
/*printf("\nthe water values %e", 950 * value2 / 3.0e-23);*/
    return 0;
    }

就是这样 先float一个result再显示和下面注释中的直接在printf里边算有什么区别呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2019-07-19 16:59

    如果表达式是没有副作用的,那么没有任何区别。如果有副作用,则下面的写法属于未定义行为。

    所谓副作用表达式,看下面:
    int x = 10;
    printf("%d %d %d", x++, ++x, x + 1);
    因为对表达式x++ ++x求值本身会改变x的值,谁先执行谁后执行是不确定的,所以结果不确定。

    点赞 评论 复制链接分享

相关推荐