關(guān)于ifelseif-創(chuàng)新互聯(lián)

對于if else if我一直分得非常不清楚 在這上面錯了很多次關(guān)于ifelseif

寫下今天的一點小感想。

成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元武城做網(wǎng)站,已為上家服務(wù),為武城各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
#include <stdio.h>

int main()
{
int a, b ;
   int m ;
scanf("%d %d %d", &a, &b, &m); if( a == 1 && m == 1 ) printf("a=%d ", a); else if( b == 1 ) printf("a=%d b=%d", a, b); else if(b==2) printf("a=%d b=%d", a, b); return 0; }

X代表任何整數(shù)

若輸入1,X,1 則輸出a=1;
若輸入2,1,1 則輸出a=2,b=1;

若輸入2,2,1 則輸出a=2,b=2;

若輸入1,X,0 則輸出a=1,b=X;

若輸入2,1,0 則輸出a=2,b=1;

若輸入2,2,0 則輸出a=2,b=2;

其實它的原理就是首先執(zhí)行if(a==1 && m==1),若為真,輸出a=1,直接return 0,不會再檢查其他的else if

否則執(zhí)行else if( b == 1 ) 此時他已經(jīng)不管a是否為1,都會判斷第二、三條else if。

我一開始以為后面的else if 中的a一定不為1, 其實是錯誤的。 它只排除了后面的情況一定沒有a=1和m=1的情況

而a、m各自是否為1 是不確定的

要實現(xiàn)我剛才的功能, 語句應(yīng)改為

#include <stdio.h>

int main()
{
int a, b, m ;
    scanf("%d %d %d", &a, &b, &m);
if( a == 1 )
    {
if( m == 1)
            printf("a=%d
", a);
return 0;
    }
else if( b == 1 )
        printf("a=%d b=%d", a, b);
else if(b==2)
        printf("a=%d b=%d", a, b);
return 0;
}

 判斷語句是否為真,若真,直接返回,若假(只排除了括號里面的一種情況),繼續(xù)判斷下條else if 直至結(jié)束

網(wǎng)頁題目:關(guān)于ifelseif-創(chuàng)新互聯(lián)
文章出自:http://bm7419.com/article42/hsihc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機網(wǎng)站制作、小程序開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站排名營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管