66问答网
所有问题
#include<stdio.h> main() {int y=3,x=3,z=1; printf("%d%d\n",(++x,y++),z+2);} printf语句是怎么运行的
如题所述
举报该问题
推荐答案 2010-12-23
printf运行结果为 3 ,3
第二个%d 是z+2 为3
第一个%d 是 (++x ,y++)表示 先运行 ++x , x变为4 ,然后输出 y 的值为3 ,在运行 y++ ,y 为4;
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/n9ixv2vU9.html
其他回答
第1个回答 2010-12-23
输出的时候将两个%d依次被(++x,y++),z+2代替
%d表示输出int型数据值
\n表示换行
你再不懂我也没办法了。。。
第2个回答 2010-12-23
这么简单也不会,把基础打好去吧!!
相似回答
...
main()
{int
y=3,x=3,z=1;
printf(
"
%d%d
\n",(++x,y++),z+2);}...
答:
第二个%d 是z+2 为3 第一个%d 是 (++x ,y++)表示 先运行 ++x , x变为4 ,然后输出 y 的值为3 ,在运行 y++ ,y 为4;
...输出结果:
main()int
y=3,x=3,z=1;printf(
"
%d%d
\n",(++x,y++),z+...
答:
运行结果为:3 3 楼主可以在编译环境中试一下下面的程序,就知道答案的正确性了:
include
<
stdio.h
> void
main(){ int
y=3,x=3,z=1;printf(
"%d\
n%d
\n",(++x,y++),z+2);}
...int
main()
{ int
y=3,x=3,z=1;
printf(
"
%d%d
\n",(++x,y++),z+2...
答:
逗号运算符,只取最后一个参数,(++x,y++)其实就是y++,z+2
=3,
其中++x的值为4,y++的值为
3,x
,y的值都为4
...
main( )
{ int
y=3,x=3,z=1;
printf(
"
%d %d
\n",(++x,y++),z+2...
答:
输出的值分别是(++
x,y
++)和z+2 (++x,y++)这个是一个逗号表达式,返回值为最右边表达式的值。所以返回的值为y。z+2就是3 所以输出为3 3 这个主要考的是逗号表达式返回值
...
main()
{ int
y=3,x=3,z=1;
printf(
"
%d%d
\n",(++x,y++),z+2) }...
答:
++x,x先加1在运算,y++,y先运算在加1
void
main()
{ int
y=3,x=3,z=1;
printf(
"
%d%d
\n",(++x,y++),z+2...
答:
33
printf(
"
%d%d
\n",(++
x,y
++
),z
+2);第一个%d输出时,是(++x,y++)的值,里面有个
逗号,逗号
是输出最右边的,所以应该是输出y++;y++时,先取再加,就是先输出y,再自增1,所以第一个输出3 第二个就容易了,就是输出z+2,也就是3 ...
大家正在搜
相关问题
#include(stdio.h); int main() ...
#include<stdio.h> main() { int...
#include <stdio.h> main( ) { i...
#include<stdio.h> main() { int...
有以下程序: #include<stdio.h> main(...
#include <stdio.h> int main() ...
void main() {int y=3,x=3,z=1; ...
#include "stdio.h" main() { in...