單純判斷字符串,用strcmp函數(shù)比較兩個字符串,相同返回0。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),團(tuán)風(fēng)企業(yè)網(wǎng)站建設(shè),團(tuán)風(fēng)品牌網(wǎng)站建設(shè),網(wǎng)站定制,團(tuán)風(fēng)網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,團(tuán)風(fēng)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
要比較,首先需要有數(shù)據(jù),像你舉例的,判斷輸入姓名,那么首先要有一堆數(shù)據(jù)里面存放了姓名班級等對應(yīng)信息,這些信息可存放在數(shù)據(jù)庫或文件,也可直接放在數(shù)組及鏈表中。之后通過循環(huán)遍歷這些數(shù)據(jù),將里面的姓名分別和輸入的姓名比較,相同就輸出其具體信息。
一般都會如下去定義真假:
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
那么 if (TRUE) 則是判斷為真的情況;
也有時會定義0為FALSE,TRUE則為非0,即!FALSE,象1表示為真,同樣2也可表示為真,那么此情況下會使用:if(!FALSE)則判斷為真。
但不管怎樣,最好用宏去定義好真假,代碼中直接用宏,而不是直接使用0或1。
朋友,這是一個與和或的問題。
"||"是或的意思,而""是與的意思,相信你應(yīng)該知道:對于或而言,只要有一個是真,那么這個或的結(jié)果就是真;而對于與來講,必須2個都為真,結(jié)果才是真,否則為假。
現(xiàn)在你需要知道,計算機(jī)語言中判斷真假的準(zhǔn)則是:零為假,非零為真!
也就是說"9||0"中的9已經(jīng)為真,所以"9||0"這個表達(dá)式的值為1;同樣的,"87"這個表達(dá)式的8和7都是真,所以結(jié)果也是1.
不知道你明白了沒?希望對你有幫助!
對的!非零就是真!至于為什么它返回值是真,結(jié)果卻每次都是1,而不是其他比如2,3,4。。其實這個也對的,只是別人寫的系統(tǒng)函數(shù)返回的就是1或0。。。
寫出來編譯一下就知道了..
1?/*#define?TRUE?1
2??*?#define?FALSE?0
3??*?定義?int?find?
4??*?循環(huán)開始??find?=?FALSE
5??*?當(dāng)?文件比較==0時?find?=?TRUE
6??*?之后判斷
7??*?if?(!find)這個時候?的find是TRUE?還是FALSE啊?
8??*?if?(!find)?這個時候判斷出來是1?還是0*/
9?#includestdio.h
10?#define?TRUE?1
11?#define?FALSE?0
12?int?main(void)
13?{
14???int?num,?find;
15???find?=?FALSE;
16???while(scanf("%d",?num)==1)//輸入數(shù)字否則退出.
17???{
18?????if(num==0)
19?????{
20?????//??find?=?TRUE;?printf("find=%d\t!find=%d",?find,?!find);//看find的值啊,如果是0那就是FALSE啊,是1find是TRUE?;
21?????//??要是find?=?TRUE?下面就不會運行了.
22???????if(!find)?printf("find=%d\t!find=%d",?find,?!find);//看find的值啊,如果是0那就是FALSE啊,是1find是TRUE?;
23?????}
24?????else?printf("文件不等于0.");
25???}
26???return?0;
27?}