C語言if判斷語句問題
if(a>=1&&a<=3) 輸入1,2,3 都會跳過 else 語句。這是你的條件規定的。
輸入不是 1,2,3 都會 進入 else 語句 并顯示 請輸入1--9的正整數:
顯示 請輸入1--9的正整數 -- 證明了進入了 else。
至于 scanf("%c",&c); 它讀到了前面輸入數據流中的 殘余 字符,例如空格,回車之類。
如果你 想跳過 空白, 輸入 格式 用 scanf(" %c",&c); 就可以了。
if函數的判斷語句只能判斷多少個可能性
if函數只能判斷兩個可能性,但再靈活應用,就可以判斷多個,不過不是單純的if語句了,還有else if語句。如:
if(a==10)
(語句一);
else (語句二);,這一句就只能有a等于10與a不等于10的兩種情況,但加上else if 語句,如下:
if(a==10)
(語句一);
else if(a==9)
(語句二);
else if(a==8)
(語句三);
else (語句四);,這一句就能判斷a分別是否等于10、9、8與不等于10和9和8的四種情況,如果不嫌麻煩,這個能判斷無盡的可能性。
要想判斷多個可能性,可能使用switch語句,這個在多種可能性的情況下比if ,else if好多了
C語言 if 判斷語句
這考的是省略{}的if的作用域
if中的語句多于一句要加{} ,只有一句就可以不加
我把省略的{}給你加上,你就能看清楚了
if(!x)
{
y++; //這只有一句
}
else if(x==0)
{
if(x) //這個 if和下面的 else 合起來算一句,相對于包含它們的 if(x==0) 來說
{
y+=2; // 一句
}
else
{
y+=3; //一句
}
}
C語言if判斷和交換語句
注意for后面都是分號。給整理一下樓主就明白了,等價于下面的程序,一模一樣的
main()
{ int a=3,b=4,c=5,t=99;
if(b<a && a<c) t=a;//這個判斷不成立,不經過這句
a=c; //a=c=5
c=t; //c=t=99
if(a<c && b<c) t=b;//判斷這個成立 ,執行這句 t=b=4
b=a; //b=a=5
a=t; //a=t=4
printf("%d %d %d\n",a,b,c);//此時a=4,b=5,c=99.
}
所以是4 5 99
問個問題,C語言的,關于if語句中條件判斷是一個賦值語句問題
復制表達式x=5本身是有值的,這個值等于左值。也就是說x=5這個式子的值是x,也就是5。而x=5這個式子的值是5不為零,就是真的,還會執行k=2。
一般來說,if后面語句是禁止使用單等于號,也就是賦值號的,就是為了防止出錯。
980515024 這位回答的有錯誤。if(x=5)編譯是不會報錯的。
如果是x=0,這個表達式的值就是0,也就是假的,就不執行后面的語句了。用什么軟件編譯無所謂,6.0還是dev還是vs08都行。