永发信息网

(高手请进)C语言的问题

答案:5  悬赏:10  手机版
解决时间 2021-05-01 13:25
  • 提问者网友:最美的风景
  • 2021-04-30 14:45

1.int x=3,y=3,z=1;

printf("%d %d\n",(++x,y++),z+2);
2.int k,g;
k=016;
g=110;
printf("k=%d,g=%d\n",k++,g++);

3.int k,g;
k=016;
g=110;
printf("k=%d,g=%d\n",k++,g++);

帮我解释下printf里面的意思

要根据答案

最佳答案
  • 五星知识达人网友:动情书生
  • 2021-04-30 16:03

1.输出3,2 (++x,y++)操作都会执行,但最后只会输出最后一个既y的值。


例如:int x=3,y=3,z=1;


printf("%d %d\n",(++x, y++,z++,y++,x++,++y),z+2);


就会输出 6,4


2.输出14 ,110


k=016,前面的0表示的是八进制,转换成十进制输出即等于8+6=14;


如果是k=0x16那就是十六进制,转换成十进制就是16+6=22.


例如:int m,n;
m=016;
n=0x16;
printf("m=%d,n=%d\n",m,n);


就会输出14,22.


3.应该和2题是一样的吧???


你可以编译试一下哈。。。


全部回答
  • 1楼网友:慢性怪人
  • 2021-04-30 18:51
x++先引用后改变X的值,++x先改变X的值再加1
  • 2楼网友:何以畏孤独
  • 2021-04-30 18:36

C语言标准输出函数

printf

  • 3楼网友:归鹤鸣
  • 2021-04-30 17:04
1 输出 3 3 2 输出 14 1103 输出 14 100
  • 4楼网友:往事隔山水
  • 2021-04-30 16:13
我就重点讲一下printf里面的这些输出格式吧: 前面""里面的%d代表要输出的数据类型为整数, 而逗号后面的每一个表达式都是代表前面对应次序的%d的值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯