课程
/后端开发
/C
/C语言入门
#include
2016-08-14
源自:C语言入门 4-14
正在回答
想学习的猪猪给你的正解。
前提是优先级:(百度。优先级C语言,算数运算符,算数表达式优先级)
a++意义是。(变量名)a中的值(自增一)。(自增一)就是(0+1).即 ( 1) int a=1;
-=为:赋值运算符。第一个运算表达式(a-=++a;) 即(a=a-a). 等号左边是(变量名)所以他就等于(a=1-1)
#include<stdio.h>
main()
{
int a=0,b=0,c=0;
a-=++a;
printf("%d\n",a);
c=a;
printf("%d\n",c);
a+=b;
b+=4;
printf("%d\n",b);
printf("%d,%d,%d",a,b,c);
}
因为a-=++a中++符号优先级别比-=高所以在这个式子中的a都为++a所以结果就变成了a=++a- ++a最后变成括号中为0,所以c=0。至于b应该最简单,就是b=b+4所以b=4。
c=(a-=++a):看一下算法的优先级“++”先执行,即执行完后a=1;然后再执行“-=”,即a=a-1,所以执行完后a=0;即a=c=0;
a+=b:执行完后a=b=0;
b+=4:执行完后 a=0;b=4;c=0
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答求大神解答啊!!!
3 回答真搞不懂,求解答求解答
2 回答求解答求解答
2 回答求解答求解答!