知乎 轩通大数据:高手请进!一道C语言编程的题,对于您这相当简单!急!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 04:10:08
我4月1日要考试了,这些简单的问题还不会,请同门师哥师姐,伸出援助之手!!
以下程序输出的结果是:
#include<stdio.h>
main()
{int i=010,j=10;
printf("%d,%d\n",++i,j--);


请帮我讲,不要告诉我答案,谢谢!
#include<stdio.h>
main()
{int i=010,j=10;
printf("%d,%d\n",++i,j--);

010转换成10进制数i=8,++i=9这明白了
但是j=10,j--,砸还得10呢?

int i=010,j=10;
printf("%d,%d\n",++i,j--);
前面是0的数字是八进制。由于后面的%d表示输出的是十进制数,所以010就等于十进制的8。而++,--符号在前面的话,就先加减,再用值。
而在后面就先用值在加减。所以++i=9,j--=10

i=010,j=10
注意i=010是八进制表达式,基相应的十进制值为8

printf("%d,%d\n",++i,j--);
%d,%d是指按整型十进制输出.
而++i是前缀增1运算,即先加1后运算;
而j--是后缀减1运算,即先运算后减1;
即输出结果为
9 10
运算后j=9

回答补充
j--是后缀减1运算,也就是先输出j的值,再对j减1

我想问你你写得原题对吗?你把题目重新抄一遍,记得把符号都写上

j--,是先整体得出结果之后再减,在这里我们必须弄清楚j--与--j的区别,j--即先用完之后再减,例如int j=7,那么j--的结果为7,j 的结果为6;而--j就不同了,是先减再用,j为6,--j也是6

11,10
很简单:
++i 表示先+再操作;
j-- 表示先操作再-。

j--
是j先参与运算 在本题中,先见j的值打印了
在进行自减

你的题目 对吗?

是完整题目吗??晕~