关于C语言自增自减的问题
#include<stdio.h>intmain(void){inta=6;intb,c;intd,e;b=a++;/*为什么a++是8不是7??*/c=++a;d=a-...
#include< stdio.h >
int main(void)
{
int a = 6;
int b , c;
int d , e;
b = a++;/*为什么a++是8不是7??*/
c = ++a;
d = a--;/*为什么a--是8不是5??*/
e = --a;
printf ( " 前缀自加:%d\n",c);
printf ( "后缀自加:%d\n",b);
printf (" 前缀自减%d\n",e);
printf ( "后缀自减%d\n",d);
return 0;
}
输出前缀自加是8,后缀自减也是8,为什么啊?? 展开
int main(void)
{
int a = 6;
int b , c;
int d , e;
b = a++;/*为什么a++是8不是7??*/
c = ++a;
d = a--;/*为什么a--是8不是5??*/
e = --a;
printf ( " 前缀自加:%d\n",c);
printf ( "后缀自加:%d\n",b);
printf (" 前缀自减%d\n",e);
printf ( "后缀自减%d\n",d);
return 0;
}
输出前缀自加是8,后缀自减也是8,为什么啊?? 展开
4个回答
展开全部
#include< stdio.h >
int main(void)
{
int a = 6;
int b , c;
int d , e;
b = a++;/* b是6,a是7 */
c = ++a;/* c是8,a是8 */
d = a--;/* d是8,a是7 */
e = --a;/* e是6,a是6 */
printf ( "前缀自加:%d\n",c);
printf ( "缀自加:%d\n",b);
printf (" 前缀自减%d\n",e);
printf ( "缀自减%d\n",d);
return 0;
}
展开全部
有一个简单的记忆方法,++在前,就是先自增,i在后,就是自增以后再给值;相反,i在前,就是先给出i的值,++在后,就是把值给出来以后再自增。
m=++i; i先自增,自增以后为9,然后把9给m
n=j++; 先把j的值10给n,然后再自增,j变成了11
所以得结果。
如果满意请采纳
m=++i; i先自增,自增以后为9,然后把9给m
n=j++; 先把j的值10给n,然后再自增,j变成了11
所以得结果。
如果满意请采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include< stdio.h >
int main(void)
{
int a = 6;
int b , c;
int d , e;
b = a++; //先赋值,后加,结果:b=6,a=7
c = ++a; //先加,后赋值,结果:a=8,c=8
d = a--;// 先赋值,后减,结果:d=8,a=7
e = --a;//先减,后赋值,结果:a=6,e=6
printf ( " 前缀自加:%d\n",c); //8
printf ( "后缀自加:%d\n",b); //6
printf (" 前缀自减%d\n",e); //6
printf ( "后缀自减%d\n",d); //8
return 0;
}
int main(void)
{
int a = 6;
int b , c;
int d , e;
b = a++; //先赋值,后加,结果:b=6,a=7
c = ++a; //先加,后赋值,结果:a=8,c=8
d = a--;// 先赋值,后减,结果:d=8,a=7
e = --a;//先减,后赋值,结果:a=6,e=6
printf ( " 前缀自加:%d\n",c); //8
printf ( "后缀自加:%d\n",b); //6
printf (" 前缀自减%d\n",e); //6
printf ( "后缀自减%d\n",d); //8
return 0;
}
追问
懂了,谢谢,刚学c
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询