第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

為什么輸出的全是“成績?yōu)閮?yōu)”

#include<stdio.h>

#include<iostream>

int main() {

int a;

std::cin >> a;

if (90 <= a <=100) {

printf("成績?yōu)閮?yōu)!");

}

else if (75<= a <90) {

printf("成績?yōu)榱迹?);

}

else if (60<= a < 75) {

printf("成績?yōu)橹校?);

}

else if(0 <= a <60) {

printf("成績?yōu)椴睿?);

}

return 0;

}



正在回答

1 回答

因?yàn)槟秸n網(wǎng)這個(gè)運(yùn)行程序沒有終端,也就是說程序在執(zhí)行到 std::cin >> a; 這句代碼的時(shí)候沒辦法獲取輸入,所以變量 a 應(yīng)該沒有被賦值,也就是說它的值是個(gè)隨機(jī)值,可以把它的值打印出來:
https://img1.sycdn.imooc.com/659abf520001483a21941220.jpg
可以看到變量 a 的值是 21990,是大于 90 的,另外“輸出的全是優(yōu)”這個(gè)問題的關(guān)鍵在于:
在 C++ 中,部分?jǐn)?shù)學(xué)判斷表達(dá)式是不能直接寫的,不符合程序語法,例如:

90 <= a <= 100 就是個(gè)錯(cuò)誤的寫法,正確的寫法是:a >= 90 && a <= 100 。
你的 “90 <= a <= 100?”的寫法其實(shí)相當(dāng)于一個(gè)表達(dá)式,即:(90 <= a) <= 100。程序執(zhí)行時(shí)候是從左向右讀取和執(zhí)行的,所以先會讀取?90 <= a 的結(jié)果,因?yàn)?a = 21990 是 >= 90 的,所以?(90 <= a) 的值就是 1,而 1 <= 100 又是 true,所以最終的結(jié)果是 1,因?yàn)闂l件為真,所以會執(zhí)行到這個(gè)分支。
同時(shí),由于 if-else 分支的語法特性,只會執(zhí)行一個(gè)分支,所以在 if 條件為真的時(shí)候,只會執(zhí)行 if 分支,其他的 else if 和 else 分支就不會執(zhí)行了,所以導(dǎo)致了?“輸出的全是優(yōu)”。
可以自己打印下這個(gè)結(jié)果看下:
https://img1.sycdn.imooc.com/659ac1bb0001771121780856.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么輸出的全是“成績?yōu)閮?yōu)”

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號