标题:a++ 和++a
取消只看楼主
To_bekill
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-2-25
结帖率:0
已结贴  问题点数:1 回复次数:0 
a++ 和++a
程序1
#include<stdio.h>
void main()
{
int a=3,x;
x=(a++)+(a++);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=6
a=5


程序2
#include<stdio.h>
void main()
{
int a=3,x;
x=(++a)+(a++);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=8
a=5




程序3
#include<stdio.h>
void main()
{
int a=3,x;
x=(a++)+(a++)+(++a);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=10
a=6


程序4
#include<stdio.h>
void main()
{
int a=3,x;
x=(a++)+(++a)+(a++);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=12
a=6
这里为什么是12不是11啊?第一个(a++)=3,然后(++a)等于4,后面的那个(a++)不是也等于4么?可答案为什么是12啊???

程序5
#include<stdio.h>
void main()
{
int a=3,x;
x=(a++)*(a++);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=9
a=3



程序6
#include<stdio.h>
void main()
{
int a=3,x;
x=(++a)*(a++);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=16
a=5


程序7
#include<stdio.h>
void main()
{
int a=3,x;
x=(a++)*(a++)*(++a);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=36
a=6



程序8
#include<stdio.h>
void main()
{
int a=3,x;
x=(a++)*(++a)*(a++);
    printf("x=%d\n",x);
printf("a=%d\n",a);
}

运行结果
x=64
a=6

第一个(a++)的值都为3,(++a)的值为4,然后(a++)=4,可结果!!!!!!!!!!!!!
搜索更多相关主题的帖子: void include 
2010-03-04 11:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-298546-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.668936 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved