在C语言中,以下程序运行输出的结果是什么,怎么算的?
main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}...
main ( )
{
int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
} 展开
{
int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
} 展开
3个回答
展开全部
第一行printf,m++是先输出原m值12,后进行++为13,++n先++为35,输出35,故第一行输出结果为12 35;
第二行printf,n++也是输出上面改变后的n的值35,再++,++m先++为14(上面m已改变为13,再++),输出14,第二行输出为35 14
以上,如此,希望看得明白
第二行printf,n++也是输出上面改变后的n的值35,再++,++m先++为14(上面m已改变为13,再++),输出14,第二行输出为35 14
以上,如此,希望看得明白
追问
嗯嗯,懂了,还有一个问题:
main( )
{
char c1,c2;
for(c1='0',c2='9';c1<c2;c1++,c2 - -);
printf("%c%c",c1,c2);
printf("\n");
}
这个程序是个什么意思啊,应该怎么解答呢
追答
这个小程序其实跟上面的类似,不过是多了个for循环,声明c1和c2,然后看for语句,c1=0,c2=9,此处c1和c2赋值0和9,(注意有' ')c1<c2,符合,执行后面的,c1++和c2--,直到c1<c2不成立,for结束,输出最后的c1和c2.分别为5,4
附:多编写,多运行,就会思考,就会理解,开始可能是比较抽象
展开全部
12 35 35 14
m++先用后++,所以m++的值为12,之后m的值变为13
++n是先++后用,所以++n的值为35
下面同理
m++先用后++,所以m++的值为12,之后m的值变为13
++n是先++后用,所以++n的值为35
下面同理
更多追问追答
追问
那为什么不是12 35 36 14或者12 35 35 13呢?
追答
下面那个printf跟上面一样啊,第一个printf完后,m,n的值已经变成13,35
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在输入输出时按先右后左来进行的,且当为前++时为逐步自增和取值的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询