C語言的一道題目 設x,y均為float型變數,則以下賦值語句不合法的是

2021-04-18 01:06:46 字數 1433 閱讀 7373

1樓:同秀梅赤凰

float是一個關鍵字,

float()是函式的用法,所以會出現語法錯誤!

如有疑問請追答,望採納!

2樓:匿名使用者

對於float型變數,在c++裡面沒有定義取模運算,答案是b

3樓:vip_無趣

b%符號兩邊的數須轉為int型的

4樓:匿名使用者

該題應該選擇b答案bai,因du為求餘運算子兩邊的zhi運算元只能dao是整形變數,回不能為float型。。。。

另外替你答分析一下其他選項:

a:++是自增運算子,即x的值先加1後再使用x的值,該值正確。

b:略。。

c:符合運算子, x*=y+8等同於x=x*(y+8),該值也正確,只是會損失精度,x*(y+8)返回的值是double型的,而x定義的為float型。。但不影響正確性。。

d:連續的賦值運算嘛,自動將0轉換為float型賦給x和y,也正確。。。

設x,y均為float型變數,則以下不合法的賦值語句是() a)++x; b)y=(x%2)/10; c)x*=y+8; d)x=y=0;

5樓:

b, %求餘,除數和被除數都應該是整型,而x是實型

6樓:匿名使用者

b選項 錯。求餘符號的兩個運算元都必須是整數。

7樓:匿名使用者

b錯,「%」號兩邊都應為整型。

8樓:邱望強

a錯,a中結束雖說x的值被變了,但賦值語句需得有「=」這個特殊表示符號

若x,y均定義為float型變數,則以下不合法的賦值語句是() a:++x; b:y=(x+2)++; c:x*=y+5: d:x=y=0

9樓:匿名使用者

bx+2運算後是一個具體數值而不是變數,++符需要它的左值或右值是一個變數,因此必然產生編譯錯誤

10樓:匿名使用者

b:y=(x+2)++;

++運算子的物件是一個變數,這裡運算物件為(x+2)不是一個變數,所以不合法,答案為b。

11樓:口木頭我鳥

很明顯答案是d,c語言中這種賦值方法無法被系統編譯。

若x,y均定義為float型變數,則以下不合法的賦值語句是()a:++x;b:y=(x+2)++;c:x*=y+5;d:x=y=0

12樓:飛天的紅豬俠

b自增自減運算子是對變數的值加一或是減一,很明顯,b不滿足。

13樓:c_大白痴

b (x+2)不是一個變數 不能有自增運算

一道c語言題目求解,一道C語言題目 求解

用最笨的辦法,一圈圈的看,case 0和case 1是一樣的,case2和case3是一樣的 m 4 1 case 1 s 1 k 1m 4 2 case 3 s 1 k 0m 4 3 case 3 s 4 k 4m 4 0 case 1,s 0 k 4 step 1 m 1 s m s 0 1 1...

問一道C語言的題目,問一道C語言題目

二進位制數不能像十進位制那樣 d直接輸出。如果想輸出一個數的二進位制可以通過函式把其轉成2進位制字串再將其輸出。itoa函式 原型 char itoa int value,char string,int radix 引數 int value 被轉換的整數,char string 轉換後儲存的字元陣列...

一道c語言題目求教非常感謝,一道C語言題目,求教,非常感謝

include using namespace std class time time time void print time int gethour int getminute int getsecond time time time private int hour,minute,second...