A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 cy-fish 于 2015-5-1 21:53 编辑
  1. #include<stdio.h>
  2. #define MIN(a,b,c) (a<b?(a<c?a:c):(b<c?b:c))                                        /*宏定义找三个数中较小数*/
  3. main()
  4. {
  5.         int x,y,z;
  6.         printf("please input x、y、z:\n");
  7.         scanf("%d,%d,%d",&x,&y,&z);
  8.         printf("the min number is:%d\n",MIN(x,y,z));                                 /*宏定义调用*/
  9. }
复制代码

7 个回复

倒序浏览

没有问题啊,运行了下,你是不是输入的时候分隔符用的空格,你的scanf里写的是, 啊
回复 使用道具 举报 1 0
从代码上看是没有问题的...
回复 使用道具 举报
这个代码不严谨吧,记得视频里说过宏定义的参数和结果都要用()括起来的
回复 使用道具 举报
你这个题,是宏定义三目运算符的地方出了问题,我改过以后,你看看能不能得到你想要的结果,如果结果是对的,那就结贴吧
这是我改过的
#include<stdio.h>
#define MIN(a,b,c)  ((a < b? a : b) < c ? (a < b? a : b):c)                          /*宏定义找三个数中较小数*/
main()
{
    int x,y,z;
    printf("please input x、y、z:\n");
    scanf("%d,%d,%d",&x,&y,&z);
    printf("the min number is:%d\n",MIN(x,y,z));                                 /*宏定义调用*/
}
回复 使用道具 举报
shenxian88 发表于 2015-4-30 11:06
你这个题,是宏定义三目运算符的地方出了问题,我改过以后,你看看能不能得到你想要的结果,如果结果是对的 ...

怎么结贴啊??
回复 使用道具 举报
编码问题吧,我写过一篇文章,有兴趣可以看看:
http://kai-lee.com/2015/04/24/%E6%95%B2%E4%BB%A3%E7%A0%81%E6%97%B6%E9%81%87%E5%88%B0%E7%9A%84%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98/#more
回复 使用道具 举报
cy-fish 发表于 2015-5-1 20:05
怎么结贴啊??

你点击编辑,里面有一个结束提问,你选择结束提问就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马