main(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d, %d,%d",b,c,d);return 0;}

具体的运算方法是怎样啊

main()
{
int a,b,c,d;
a=10;
b=a++; /*先调用a, 再递增a, 调用时 a的值为10(b的值为10), 调用后 a的值为11*/
c=++a;/*先递增a,再调用a,调用时 a的值为12(c的值为12),调用后 a的值为12*/
d=10*a++; /*先调用a, 再递增a, 调用时 a的值为12(d的值为120), 调用后 a的值为13*/
printf("b,c,d:%d, %d,%d",b,c,d);
return 0;
}
输出为:
b,c,d:10, 12,120
总的说,前自增/自减是在自增/自减后调用,后自增/自减是在调用后自增/自减.
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-23
main()
{int a,b,c,d;
a=10;
b=a++;//b=10,a=11.a++是先取a的值,赋给b,再a++
c=++a;//c=12,a=12. ++a是先++,再取a的值,赋给c
d=10*a++;//d=120,a=13. a++先取a的值,再++
printf("b,c,d:%d, %d,%d",b,c,d);
return 0;}本回答被提问者和网友采纳
第2个回答  2011-08-10
int a,b,c,d;
a=10;
b=a++;//a = 11,b=11
c=++a;//a = 12 , 12
d=10*a++;//d = 120 ,a = 13
printf("%d %d, %d,%d",a,b,c,d);
return 0;
++a是先+1再进行运算
a++就是先运算再+1:当整个语句运行完了再将a+1

...a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d, %d,%d...
{ int a,b,c,d;a=10;b=a++; \/*先调用a, 再递增a, 调用时 a的值为10(b的值为10), 调用后 a的值为11*\/ c=++a;\/*先递增a,再调用a,调用时 a的值为12(c的值为12),调用后 a的值为12*\/ d=10*a++; \/*先调用a, 再递增a, 调用时 a的值为12(d的值为120), 调用后 a的...

C语言三位水仙花数输出
回答:#include<stdio.h> main() { int a,b,c,d; for(a=100;a<=999;a++) { b=a\/100; c=a%10; d=(a\/10)%10; if(b*b*b+c*c*c+d*d*d==a) printf("%d ",a);\/\/输出格式控制一下,结果之间打空格好区分 \/\/ system("pause");这句删掉 } }

如何用C语言编写 解 A+B+C=CD C+D+C=AB AB=? 的程序?
viod main(){int A,B,C,D;for(A=0;A<10;A++)for(B=0;B<10;B++)for(C=0;C<10;C++)for(D=0;D<10;D++)if(A+B+C=C*D)printf("A=%d ,B=%d ,C=%d ,D=%d \\n",A,B,C,D,);printf("C+D+C=A*B=%d\\n",C+D+C);} 这是求10以内的,你要想求高点...

a*b*c*d=9a+b+c+d的值是多少
统计出a b c d 都小于10且都是整数时候的情况 int main(void){ int a,b,c,d;for(a=1;a<=10;a++)for(b=1;b<=10;b++)for(c=1;c<=10;c++)for(d=1;d<=10;d++)if(a*b*c*d==9*a+b+c+d)printf("%d,%d,%d,%d %d\\n",a,b,c,d,a*b*c*d);getch();return ...

全国计算机等级考试三级笔试试题及答案?
main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\\n”,m,i);}执行后的输出结果是( )。A) 8,6 B) 8,3 C) 6,4 D) 7,4(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z\/2的值是( )。A) 6 B) 0 C) 2 D) 1(22) 有一函数, ,以下程序段中不能...

...b-->=20||c++; printf("%d %d %d %d\\n",a,b,c,d);求高手分析此程序段...
主要运算部分:d=++a<=10||b-->=20||c++;首先执行++a<=10||b-->=20,a自增1后为11,则++a<=10为假,b为20,则b-->=20为真(b的自减运算在之后执行,故b的输出值将会是19)至此++a<=10||b-->=20的结果为真,程序不再继续执行||c++的内容,故c的值不发生变化 最终输出结果...

main() {char a='a',b; printf(%c,",++a); printf("%c\\n",b=a++...
参考我之前回答过的一个贴:http:\/\/zhidao.baidu.com\/question\/1511411341808323180 \/\/看完之后再结合你这个题看一次main(){char a='a',b;\/\/a的值为 'a' 也就是 数值:97printf("%c,",++a);\/\/表达式返回的是后自增的结果 先 +1 后返回,结果是 98 即是'b'printf("%c\\n",b=a++);...

设int a=7,b=8,c=10; c=((a+b,a),(b,a+b)); printf("%d,%d,%d",(a+...
3*4 那么这个表达式的值是3*4 逗号表达式的值是表达式2的值,即3*4这个表达式的值 c=((a+b,a),(b,a+b)) 这个表达式的值应该是(b,a+b)这个逗号表达式中a+b的值即15 那么c=15 同理(a+b,a)的值为a的值 即7 (b,a+b)的值为a+b的值 即15 c值为15 最后选A ...

...printf("%d,%d,%d,%d,\\n",a,b,c,d);} 结果是11,19,30,1
重点在 d=++a<=10||b-->=20||c++; 这句,里边是||运算符,从开始往后计算,碰到一个为真的表达式,后边的表达式就不计算了。++a <=10 先++,再去比较,当然为假了 b-- >= 20 这个是先判断 b >=20的,判断了以后 再进行b-- 相当于 两句 b >=20;b--; 这个为真 所以后边c++...

解释一段C程序b=a++还有就是d=10*a++为什么b的值是10而d的值是120_百 ...
运算符的优先顺序 b=a++ 就是a的值赋值给b,然后a自增 执行后,b==10,a ==11 c=++a,此时a==12,c==12 d=10*a++ 10*a赋值给d,则d==120 然后a++,a==13

相似回答