C语言题目,main() {int i=10,j=1;printf(“%d,%d\n“,i--,++j);}输出的结果应该是10,2吧?

如题所述

输出结果是10,2没有错!
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-10
VC6.0里是这个结果不错,换其他平台。。。
第2个回答  2011-09-10
你回答是对的

main() { int i=10,j=1; printf("%d,%d\\n",i--,++j);}结果是多少
所以这里的i--, 先取值, 值为10.++j, 先自加j=2, 再取值.于是输出是10,2

main() { int i=10,j=1; printf("%d,%d\\n",i-- ,++j); }执行后输出结果...
10,2 i--是先使用后自减,++j是先自加后使用。满意请给最佳

...main() { int i=010 , j = 10; printf("%d,%d\\n",+ +i , j...
输出结果是:9 10 原因是:010是8进制,换算成十进制就是8,也就是i的值为8,++i后,i的值为9,所以输出9。j--会先输出j的值,然后在做--操作,所以输出10.

...main() { int i=010,j=10; printf("%d,%d\\n",++i,j--);
结果 9,10 0开头表示八进制 i=010 转换成十进制是 8 ++i是先让i的值加1也就是9,然后再返回也就是10 j--是先返回j的值10,然后再减1也就是9.选B

...main() { int i=010,j=10; printf("%d,%d\\n",i++,j--); }_百度知...
关键是这个 int i=010 最高位的0表示这个数是以八进制来表示的,你看,八进制的10,不就是10进制的8么。就这么简单 可以参考一下int i=0x10,这个就是十六进制的,换成十进制就是 16

设有int I=10,j=10;则printf("%d,%d\\n",++I,j--)的输出是
设有int I=10,j=10;则printf("%d,%d\\n",++I,j--)的输出是 11,10 若是printf("%d,%d\\n",i++,--j)结果是 10,9 你只要记住 自增或自减符号在前面就先++或--再使用变量,在后面就是先使用变量再++或--

...main() { int i=010,j=10; printf("%d,%d\\n",++i,j--); }_百度知...
i是9吧!不是10

c语言 帮我看答案 还有解题过程谢谢~
int main(){ int i = 010, j = 10;\/\/前面加一个0表示0后面的数字是用八进制表示的 \/\/所以010转换为十进制为1×8+0×1=8 \/\/扩展:0x10表示0x后面的数是用十六进制表示的,LZ可以试试 printf( "%d, %d\\n", ++i, j-- );\/\/自加放在变量前面表示自加后再使用值,所以i自加1再...

...main() { int i,j; i=10; printf("%d,%d,%d\\n",i--,j=i++,j=++...
逗号分隔,从右向左计算,顺序如下 j=++i;i先加1,i=11;j=11;j=i++;i先赋值11;j=11;i--;i先赋值11;i++与i--在语句结束后改变。

...main() {int i.j; i=8,j=10; printf("%d%d%d",i.j,++i,j++); }...
加号在左边表示先加再用,右边表示先用再加。所以++i是9,j++是10(但是如果这次输完后再输出j的话就是11了)

相似回答