m0_61800796
2021-09-13 17:14
采纳率: 93.9%
浏览 42

c语言中for语句相关问题 算阶乘

img


想问下为什么for里面i=2和i=1都可以,i=2的话如果算2的阶乘不就是i=2++,即i=3,那结果不就是3×1=3了吗,为什么输出结果还是2呢

  • 好问题 提建议
  • 收藏

3条回答 默认 最新

  • CSDN专家-link 2021-09-13 17:16
    已采纳

    i++是先用i进行运算,然后i的值再加1,不是你想的先加1,再进行运算的

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • CSDN专家-link 2021-09-13 17:20

    是的

    for 循环的一般形式为:
    for(表达式1; 表达式2; 表达式3){
    语句块
    }

    它的运行过程为:

    1. 先执行“表达式1”。

    2. 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。

    3. 执行完循环体后再执行“表达式3”。

    评论
    解决 无用
    打赏 举报
  • baidu_30233079 2021-09-13 17:21

    for(;;i++) for(;;++i)
    循环中最后条件变化操作都是最后完成的,由编译器自动加上。你在{}内的所有操作都在i++或++i前完成。所以for循环那里写成i++和++i都一样

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题