
C语言的一个疑惑求解。
执行下列语句的结果是i=3;printf("%d,",++i);printf("%d",i++);这两个有什么不同啊...
执行下列语句的结果是
i=3;printf("%d,",++i);
printf("%d",i++);
这两个有什么不同啊 展开
i=3;printf("%d,",++i);
printf("%d",i++);
这两个有什么不同啊 展开
展开全部
++是给变量自身增1,所以不管是++i,还是i++,i这个变量自身都会变成4 。而对于表达式来说有所区别
i++: 整个表达式(注意,是表达式,不是i这个变量)的值为i的原值,就是3
++i: 整个表达式的值为i的原值+1,就是4
别问为什么,这是C语言的规定
int i=3, a;
a = (i++); 这里(i++)这个表达式的值是3,所以a为3
int i=3, a;
a = (++i); 这里(++i)这个表达式的值是4,所以a为4
i++: 整个表达式(注意,是表达式,不是i这个变量)的值为i的原值,就是3
++i: 整个表达式的值为i的原值+1,就是4
别问为什么,这是C语言的规定
int i=3, a;
a = (i++); 这里(i++)这个表达式的值是3,所以a为3
int i=3, a;
a = (++i); 这里(++i)这个表达式的值是4,所以a为4
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询