已解决问题

(高手请进)C语言的问题

[ 标签:高手,c语言 ]

1.int x=3,y=3,z=1;

printf("%d %d\n",(++x,y++),z+2);
2.int k,g;
k=016;
g=110;
printf("k=%d,g=%d\n",k++,g++);

3.int k,g;
k=016;
g=110;
printf("k=%d,g=%d\n",k++,g++);

帮我解释下printf里面的意思

要根据答案

匿名 回答:5 人气:87 解决时间:2009-11-04 17:04
  
满意答案
我就重点讲一下printf里面的这些输出格式吧:
前面""里面的%d代表要输出的数据类型为整数,
而逗号后面的每一个表达式都是代表前面对应次序的%d的值
回答人的补充   2009-11-04 13:53

还有就是表达式中的“++”问题:

“++”在前面表示先加后算;

“++”在后面表示先算后加

回答采纳率:71.3% 2009-11-04 13:50
评价答案
  • 是否解决问题(参与评价0次)
  • 3
  • 0
  • 0
  • 是否原创答案(参与评价0次)
  • 2
  • 0
满意答案

1.输出3,2 (++x,y++)操作都会执行,但最后只会输出最后一个既y的值。

例如:int x=3,y=3,z=1;

printf("%d %d\n",(++x, y++,z++,y++,x++,++y),z+2);

就会输出 6,4

2.输出14 ,110

k=016,前面的0表示的是八进制,转换成十进制输出即等于8+6=14;

如果是k=0x16那就是十六进制,转换成十进制就是16+6=22.

例如:int m,n;
m=016;
n=0x16;
printf("m=%d,n=%d\n",m,n);

就会输出14,22.

3.应该和2题是一样的吧???

你可以编译试一下哈。。。

回答采纳率:28.6% 2009-11-04 13:59
评价答案
  • 是否解决问题(参与评价0次)
  • 1
  • 0
  • 2
  • 是否原创答案(参与评价0次)
  • 2
  • 0

相关内容

其他答案

1 输出  3 3 2 输出  14 1103 输出 14 100
回答人的补充   2009-11-04 13:24
3 输出 14 110
回答采纳率:18.0% 2009-11-04 13:23

C语言标准输出函数

printf

回答采纳率:19.2% 2009-11-04 13:29
x++先引用后改变X的值,++x先改变X的值再加1
提问人的追问   2009-11-04 13:41

(++x,y++) 和 k=016 什么意思

答案 3 3 2 14 110 14 100

尓不等于15 等等

回答人的补充   2009-11-04 14:01
怎么输出了7个值
回答采纳率:26.4% 2009-11-04 13:38