int n=2;printf("%d,%d,%d,%d,%d\n",++n,n++,n+=2,--n,n--);输出的值为什么是4,2,2,0,2
来源:百度知道 编辑:UC知道 时间:2024/06/20 07:25:22
因为printf里面默认是从右到左读的,也就是说先读n--,得到值%d为2,此时n为1,然后再读--n,此时%d的值为0,n的值也为0(如果这个不明白,去看看--n与n--的区别),同理可以得到2,2,4,然后再重左到右输出,也就是输出4,2,2,0,2
代码输出的结果是4,2,4,4,2,不是提问者所说的结果,我在编译器上试过了的
main () {int x=2;while(x--); printf("%d\n",x)}
main() {int num=0; while (num<=2) {num++; printf("%d\n",num);}}
int n=2;printf("%d,%d,%d,%d,%d\n",++n,n++,n+=2,--n,n--);输出的值为什么是4,2,2,0,2
int y=10; do{y--;} while(--y); printf("%d\n",y--);
程序int s=7;while(--s);s=s-2;printf("s=%d\n",s)的输出结果是多少?为什么?
c语言中printf 函数? int x=10; printf("%d %d\n",++x,--x);运行结果为什么是 10 9?为什么不是11 10?
main() {int i,int sum=0; {for(i=1;i<=100;i++) sum=sum+i; printf("\n%d",sum);
#define MAX(x,y) (x)>(y)?(x):(y) main(){int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%d\n",t);}
#include<stdio.h> main() { int a=2,b=-1,c=2; if(a<b) {;} else printf("%d\n",c);}为什么不报错呢?
另程序main(){int s=-7;while(++s);s=s-2;printf("s=%d\n",s)的输出结果?和前面的有什么不一样?