main() { int m=12, n=34; printf("%d%d",m++,++n) printf("%d%d\n",n++,++m) } 此程序输出结果是多少

帮忙分析分析,谢谢了

m++输出的是m值(12),然后m=m+1(变成13)
++n是输出n+1的值(35),n=35
---------------------------------------------------------
n++是输出n的值35
++m输出m+1的值14
所以最终结果是12 35 35 14来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-19
m++ 是先取m值 后加1
++n 是先加1后取值所以结果应该分别是
12
35
35
14
输出结果为12353514
第2个回答  2011-07-19
12 35
35 14

...main() {int m=12,n=34;printf("%d%d,m++,++n);printf("%d%d\\n...
include <stdio.h> void main() {int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\\n",n++,m++);}运行结果是12353513

一段简单的C语言代码
3715 %d(以整数输出)%d(以整数输出)\\n(换行)

全国计算机等级考试二级C语言历年试题及答案
main() {int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\\n",x,y,z); } 程序运行后的输出结果是 A)2,2,3 B)2,2,2 C)2,3,1 D)2,1,1(18) 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=...

c程序里面%d%d什么意思啊?
如果是 printf("%d%d",m,n); 意识是将M,N以十进制形式输出

...int x=12,y=8; pritf("%d %d\\n",x++,++y); Printf( "%d %d\\n",x...
排队程序中的错误后,运行结果为:12 9 13 9

main() { int n=1; printf(“%d %d %
关键点:printf函数对参数的计算顺序,是从右往左的 所以,这个程序中printf执行的顺序是n--、 ++n、 n,执行逻辑如下:n=1,n--;此时printf输出1,n=0 n=0,++n;此时printf输出1,n=1 n=1;此时printf输出1 所以,这个程序结果是是1 1 1 ...

...main(){int x=12,y=x++;printf(“%d,%d,%d\\n",x+y,x++,y++的结果...
x=12;y=x++=12 x=13.printf先从右向左运算。再从左向右输出 所以 y++=12 y=13 x++=13 x=14 x+y=13+14=27 所以是27.13.12

void main() {int y=3,x=3,z=1; printf(%d %d\\n,(++x
(++x, y++)这整个是一个逗号表达式,逗号表达式的运算规则是从左往右依次计算,并返回最后一个表达式的值,所以返回输出的是y++ 这里++放在了y的后面,所以是先输出y,再进行y=y+1运算,所以最后是输出3 3

...void main() { int n=1; printf("%d,%d,%d",n,++n,n--); }_百度...
因为在一些编译环境中,printf的执行执行顺序是颠倒的,即从右向左执行。printf("%d,%d,%d",n,++n,n--);所以n--先执行,此时n的值为0。因为后缀的自减操作是有“延迟的”,所以输出为1 ++n第二个执行,自增操作立即生效,输出为1 n第三个执行,输出为1 所以输出为1,1,1 你可以在自己的...

...int main(){ int n,m; while(scanf("%d",&n)!=EOF){ m=++n*++n...
就是这个意思: 如果你输入2,那么n=2,m=++n*++n 就是:m = 3 * 4 等于12 ++n*++n ,这个语句:第一个++n 后n变成3,第二个++n 时候,n 就是4了。

相似回答