如题所述
#include <stdio.h> main( ) { int y=3,x=3,z=1; printf("%d %d\\n...
输出的值分别是(++x,y++)和z+2 (++x,y++)这个是一个逗号表达式,返回值为最右边表达式的值。所以返回的值为y。z+2就是3 所以输出为3 3 这个主要考的是逗号表达式返回值
#include<stdio.h> main() { int y=3,x=3,z=1; printf("%d%d\\n...
(++x,y++),这是逗号表达式,先执行++x,然后执行y++;结果取逗号后面表达式的值,也就是y++的值。y++的值为3,因为这是后加表达式,如果是前加++y的话,值就是4;z+2的值是1+2=3;所以结果输出是3 3
#include<stdio.h> main() { int y=3,x=3,z=1; printf("%d%d\\n...
++x,x先加1在运算,y++,y先运算在加1
...int main() { int y=3,x=3,z=1; printf("%d%d\\n",(++x,y++),z+2...
逗号运算符,只取最后一个参数,(++x,y++)其实就是y++,z+2=3,其中++x的值为4,y++的值为3,x,y的值都为4
#include<stdio.h> main() {int x=3,y=
自增与自减运算符可在变量的左边(前缀)与右边(后缀),运算规则教材上有的,手机打字很麻烦
#include <stdio.h> int main() { intx,y,z; x=2; y=3; z=x+y; pri...
不能写成一行,至少main与include要分成两行 include <stdio.h> int main() { int x,y,z; x=2; y=3; z=x+y; printf("x+y=%d\\n",z); } 另外int 和x间要有空格,以上代码已修改正确
#include <stdio.h> main() { int x=1, y=2, z=3; if(x>y) if(y<z...
结果是1 if(y<x)不成立,不执行下面。直接执行else printf(“%d,x++),所以结果为1
...#include<stdio.h> main() {int x,y,z; x=y=1; z=(++x)+(++y)+...
z=(++x)+(++y)+(x++)我们拆开写,++x此时x=2 ++y此时y=2 x++运行时这个表达式已经是2了,运行结束后x=3 所以z = 2 + 2 + 2 = 6 所以结果是3,2,6
#include<stdio.h> void main() { int x,y,z; x=y=2;z=3; y=z++-1...
①int main()而不是void main()②printf时,内部的双引号必须是英文的,你用的中文的就要错。以下是大概修补后的代码。include<stdio.h>int main() {int x,y,z;x=y=2;z=3;y=z++-1;printf("%d\\t%d\\t",x,y);y=++x-1;printf("%d\\t%d\\n",x,y);y=z---1;printf("%d\\t%d\\...
#include<stdio.h> void main() { int x,y,z;x=y=1;z=(++x)+(++y)+...
z=(++x)+(++y)+(x++);原式相当于z=n1+n2+n3 先执行n1=++x 执行后,x=2,n1=2 再执行n2=++y 执行后,y=2,n2=2 然后是n3=x++ 执行后,n3=2,x=3 最后为z=2+2+2 得z=6