你好牛蛙 2020-11-03 18:50 采纳率: 100%
浏览 63
已采纳

同初始值同数量的i++和++i,只是顺序不一样,结果却不同。

为什么a和b的结果不同?明明同样数量的i++和++i初始值i也相同,只是顺序不一样。

#include<stdio.h>
int main(){
    int i=1;
    int a,b;
    a=((i++)+(++i)+(++i)+(i++));
    i=1;
    b=((++i)+(i++)+(i++)+(++i));
    printf("a=%d b=%d",a,b);
} 

图片说明

  • 写回答

4条回答 默认 最新

  • Allenxixi 2020-11-04 16:22
    关注
            答案为A=12,B=12。  下侧为完整代码运行,C#写的,逻辑一样,楼上几位讲的都正确,我这就直接Show逻辑了,嘿嘿
    

    ```using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace 临时
    {
    class Program
    {
    static void Main(string[] args)
    {
    int i = 1;
    int a, b;
    a=((i++)+(++i)+(++i)+(i++));
    i = 1;
    b=((++i)+(i++)+(i++)+(++i));
    Console.WriteLine("a={0},b={1}",a,b);
    Console.ReadLine();
    }
    }
    }
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?