当前位置: 代码迷 >> C语言 >> 为什么a&&b的结果会是这样?
  详细解决方案

为什么a&&b的结果会是这样?

热度:363   发布时间:2006-09-17 15:27:06.0
为什么a&&b的结果会是这样?

#define printt(a,b,c) printf("a=%d\tb\%d\tc=%\n",a,b,c);
main()
{
int a,b,c;
a=b=c=2;
++a||++b&&++c; printt(a,b,c);
}

结果为什么是
a=3 b=2 c=2 呢?这个&&是怎么运算的? PRINTT是……?

搜索更多相关的解决方案: 结果  amp  printt  main  PRINTT  

----------------解决方案--------------------------------------------------------
++a为真,后边表达式不用计算
----------------解决方案--------------------------------------------------------
printt(a,b,c);没见过,谁能讲讲~

----------------解决方案--------------------------------------------------------
以下是引用honkerman在2006-9-17 17:17:01的发言:
printt(a,b,c);没见过,谁能讲讲~

宏展开
----------------解决方案--------------------------------------------------------
a=b=c=2
++a||++b&&++c;(这是面的++b&&++c)是怎么计算得出2的结果的&&前后是什么样的关系?
----------------解决方案--------------------------------------------------------

以下是引用ww84020209在2006-9-17 16:15:58的发言:
++a为真,后边表达式不用计算

是这样啊谢谢您的回答!那这样的话...下面的应该是这样的结果吧


a=b=c=2;
++a&&++b||++c printt(a,b,c);

a=3 b=3 c=2 (是这样的结果吧)!

这样的话.语句里只有||符号后面的结果不用计算是吧?


----------------解决方案--------------------------------------------------------
以下是引用yyasd在2006-9-17 15:27:06的发言:

#define printt(a,b,c) printf("a=%d\tb\%d\tc=%\n",a,b,c);
main()
{
int a,b,c;
a=b=c=2;
++a||++b&&++c; printt(a,b,c);
}

结果为什么是
a=3 b=2 c=2 呢?这个&&是怎么运算的? PRINTT是……?

编译器执行逻辑运算时,判断||前为真,则不执行||后的运算,&&前为假则不执行&&后的运算.

那个是宏定义,哪个地方出现了就将其后面的字符串替换.


----------------解决方案--------------------------------------------------------
吼吼。。。高兴啊。。连版主也来帮解。。谢谢ww84020209跟nuciewth
----------------解决方案--------------------------------------------------------
以下是引用yyasd在2006-9-17 15:27:06的发言:

#define printt(a,b,c) printf("a=%d\tb\%d\tc=%\n",a,b,c);
main()
{
int a,b,c;
a=b=c=2;
++a||++b&&++c; printt(a,b,c);
}

结果为什么是
a=3 b=2 c=2 呢?这个&&是怎么运算的? PRINTT是……?

输出为a=3 b=2 c=
这个条语句#define printt(a,b,c) printf("a=%d\tb\%d\tc=%\n",a,b,c);这里少加d,今人产生误会.


----------------解决方案--------------------------------------------------------
这个东西其实和离散数学有关,最近我想写一篇关于离散于c的文章

----------------解决方案--------------------------------------------------------

  相关解决方案