设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是正确答案是120,我想知道为什么不是10已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=(a++,--b,b--,--c,c--);,和这题的区别是什么

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 01:53:37
设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是正确答案是120,我想知道为什么不是10已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=(a++,--b,b--,--c,c--);,和这题的区别是什么

设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是正确答案是120,我想知道为什么不是10已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=(a++,--b,b--,--c,c--);,和这题的区别是什么
设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是
正确答案是120,我想知道为什么不是10
已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=(a++,--b,b--,--c,c--);,和这题的区别是什么

设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是正确答案是120,我想知道为什么不是10已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=(a++,--b,b--,--c,c--);,和这题的区别是什么
printf("%d",(a = a + 10,a= a + 100,a));
先算(a = a + 10,a= a + 100,a)中的a = a + 10 ,a变成了20
再算a = a + 100,a变成了120
再算a,a还是a120
所以打印120了
因为是逗号表达式,所以
(a = a + 10,a= a + 100,a),分解为a = a + 10,a = a + 100,a
最终的结果要取最后的那个值 ,就是a

int a=10;f1(){int a=20;printf(%d,a);}f2(){printf(%d,a);}main ( ){int a=30;f1();f2(); printf(a)int a=10;f1(){int a=20;printf(%d,a);}f2(){printf(%d,a);}main ( ){int a=30;f1();f2();printf(%d,a);}答案是 20 10 30求解答. #include stdio.hvoid main(void){ int a=10; int *p = &a; unsigned int b = (unsigned int)p; printf(0x%x ,p); printf(0x%x ,b); int *out = (int *)b; printf(0x%x , *out);} 很奇怪,只能打印前两个printf,最后一个 int a=10,b=20;a=!b;printf(%d,a) int a=10,printf(%d,a++),输出结果和a的值是(). int a[3][8],*p; printf( a+0=%-10p,a+0); 打印出杨辉三角形main() {int i,j; int a[10][10]; printf( ); for(i=0;i int a=1; int b=0; printf(%d,b=a+b); printf(%d,a=a*b); Int a=1; Int *p; p=&a; printf(“%d ”,*p); 和Int a=1; Int*p; *p=a; printf(“%d ”,*p); :::: main( ) {unsigned int a=3,b=10; printf(%d/n,a1); } 已知:unsigned int=3,b=10;printf(%d ,a 设int x=9,y=9,则printf(%d,%d ,x--,--y);语句的输出结果是 fun ( int *p ) { int a=10; p = &a; ++a; } main ( ) { int a=5; fun (&a); printf (%d ,a); }#include fun ( int *p ) { int a=10; p = &a; ++a; } main ( ) { int a=5; fun (&a); printf (%d ,a); } int a=2; int f(int a); {return (a)++;} main() {int s=0; {int a=5; s+=f(&&a);} s+=f(&&a); printf(%da=2;int f(int a);{return (a)++;}main(){int s=0;{int a=5;s+=f(&&a);}s+=f(&&a);printf(%d ,s);}执行的输出结果是()A 10 B 9 C 7 D 8 int i=10;while(i--);printf(%d,i);则输出i的值__________ void fun(int p) { int d=2; p=d++; printf(%d,p); } main() { int a=1; fun(a); printf(%d ,a); } main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf(%d,*(p++)); printf(%d ,**k); }为什么结果是24 若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是 ( )A)switch(x) {case 1.0:printf(* ); case 2.0:printf(** );} B)switch((int)x);{case 1:printf(* ); case 2:printf(** );}C)switch(a+b) {case 1:printf(* ); case 2+1:p 若有定义;float x=1.5;int a=1,b=3,c=2:则正确的switch语句为( )A switch(x) { case 1.0;printf(“* );case 2.0:printf(** );}B switch((int) x);{ case 1:printf(* );case 2:printf(** )}C switch(a+b){ case 1:printf(* );case 2