OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5898|回复: 9

关于C语言的编程问题,请各位帮忙解答

[复制链接]

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
发表于 2013-10-22 16:49:26 | 显示全部楼层 |阅读模式
#include <stdio.h>  
#define MIN(a,b) ((a)<=(b)?(a)b))  
void main()  
{      int i=1,j=2;
       printf("%d %d",MIN(i,j--),j);
       printf(" %d",printf("\n\n%d",j));
}
最后的结果是:1 1 
 
                       1 3
有知道为什么的吗?请帮忙解答下
天道酬勤
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-10-22 17:20:40 | 显示全部楼层
回复【楼主位】xly0907:
---------------------------------
至今我都没理解这个定义,帮顶。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-10-22 17:57:34 | 显示全部楼层
未定义。不同编译器有不同的结果。
业余程序玩家。
回复 支持 反对

使用道具 举报

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
 楼主| 发表于 2013-10-22 18:03:42 | 显示全部楼层
回复【3楼】ofourme:
---------------------------------
这是在一个文档上面看到的,愣是没弄明白来着
天道酬勤
回复 支持 反对

使用道具 举报

22

主题

436

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2012-8-6
在线时间
2 小时
发表于 2013-10-22 18:09:32 | 显示全部楼层
你所谓的 1,1是 printf("%d %d",MIN(i,j--),j);
输出的结果么
往事随风!
回复 支持 反对

使用道具 举报

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
 楼主| 发表于 2013-10-22 18:10:46 | 显示全部楼层
回复【5楼】zsk:
---------------------------------
是啊   这个应该是输出 1 1的
但是后面那个却输出1 3  这是为何 ?
天道酬勤
回复 支持 反对

使用道具 举报

22

主题

436

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2012-8-6
在线时间
2 小时
发表于 2013-10-22 18:14:15 | 显示全部楼层
回复【6楼】xly0907:
---------------------------------后面这个什么意义,我也觉得属于没定义,你换个编译器试试估计就不是1 3了
往事随风!
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2013-10-22 18:23:04 | 显示全部楼层
第一行没问题吧..
第二行是<换行>.
第三行的1是里面的printf的<输出>,值等于j.
            3是里面的printf的<返回>,值等于这个printf输出的字符的个数,两个<换行>+一个<1>,就是3,作为外面的printf的<输入>处理.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

9

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-9-24
在线时间
0 小时
发表于 2013-10-23 09:26:00 | 显示全部楼层
13也有可能是 内层printf输出第一个字符/n(回车)的ASCII码。。。你可以结合7楼 多输几个再输2个“/n”看看是不是会出现15,或者还是13
人需要沐浴阳光,也必将经历风雨
回复 支持 反对

使用道具 举报

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
 楼主| 发表于 2013-10-23 10:27:36 | 显示全部楼层
回复【8楼】shihantu:
---------------------------------
嗯,高手啊,就是这个答案呢。。。。顶
天道酬勤
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-11 01:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表