找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2223|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

二級(jí)C易錯(cuò)部分

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262 發(fā)表于 2014-10-21 14:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1.
#include<stdio.h>
void main()
{
int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
輸出什么?

答:
0
(a>b>c)
=>(a>b)>c
=>(5>4)>3
=>1>3
=>0


2.
#include <stdio.h>
main( )
{
int a = –1, b = 4, k;
k=(+ + a <0) && !(b––< 0) ;
printf(“%d,%d,%d\n”,k,a,b) ;
}

答:
輸出:0,0,4
k=(++a<0)&&!(b--<0);
表達(dá)式中,首先計(jì)算(++a<0)&&!(b--<0);在邏輯與運(yùn)算中,如果前面表達(dá)式為true,才去進(jìn)行&&后面的運(yùn)算,現(xiàn)在(++a<0)為false,所以不進(jìn)行后面的(b--<0).
運(yùn)算結(jié)果只對(duì)a進(jìn)行了一次自加就把值賦給了k,k = false = 0;
所以輸出0,0,4。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表