
C语言问题 (a++ , ++a)
#include<stdio.h>voidmain(){inta=1,b=1,s=0;printf("a=%da=%d\n",a++,++a);//第一个a的值为何等于a...
#include<stdio.h>
void main()
{
int a=1,b=1,s=0;
printf("a=%d a=%d\n" ,a++,++a); // 第一个a 的值为何等于 a=2 ????? 而不是等于 1
printf("a=%d\n",a); // a 的值为何等于 a=3 ?????
printf("a=%d b=%d\n" ,a++,++b);
}
回复:obiwan1988
那按照你的意思是说 在 printf("a=%d a=%d\n" ,a++,++a);
这一句 语句里 程序是 先执行 ++a 后执行 a++ 这样对吗》
我一直认为 象这样的语句 是先执行 a++ 后执行 ++a 的~~~
难道我搞错啦~??????? 展开
void main()
{
int a=1,b=1,s=0;
printf("a=%d a=%d\n" ,a++,++a); // 第一个a 的值为何等于 a=2 ????? 而不是等于 1
printf("a=%d\n",a); // a 的值为何等于 a=3 ?????
printf("a=%d b=%d\n" ,a++,++b);
}
回复:obiwan1988
那按照你的意思是说 在 printf("a=%d a=%d\n" ,a++,++a);
这一句 语句里 程序是 先执行 ++a 后执行 a++ 这样对吗》
我一直认为 象这样的语句 是先执行 a++ 后执行 ++a 的~~~
难道我搞错啦~??????? 展开
展开全部
粗略的看,++i和i++的作用相当于i=i+i.但++i和i++不同这处在于++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值再执行i=i+1.因此可以看到i++和++i都可以使i的值增加一,但是对于整体来说,那就不一样了.
比如说i=a++;先使用a的值,即先将a的值赋给i,即i=1.而i=++a就不同了,它是先将a加一,而后赋给i,即i=2;
无论是a++,++a其效用都是使a的值增一,
故如果a=1的话,那么经过a++后a变为2,再经这++a后,a又变为了3.
比如说i=a++;先使用a的值,即先将a的值赋给i,即i=1.而i=++a就不同了,它是先将a加一,而后赋给i,即i=2;
无论是a++,++a其效用都是使a的值增一,
故如果a=1的话,那么经过a++后a变为2,再经这++a后,a又变为了3.
展开全部
“++”前置表示先对变量进行自加再代入语句中进行运算;而“++”后置表示先用变量的初始值进行运算再对变量进行自加。
因此第5行编译时因为“++a”先对a自增一次,a=2;然后输出a=2,并再对a进行一次自增,a=3;最后把a=3输出。显然,第6行中a=3。
因此第5行编译时因为“++a”先对a自增一次,a=2;然后输出a=2,并再对a进行一次自增,a=3;最后把a=3输出。显然,第6行中a=3。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个C源程序用WIN-TC运行只能显示编译成功,结果不能显示出来.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是编译器的问题,有的是上自右向左执行的,书上应该写有的啊
你最好不要这样用啦
你最好不要这样用啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询