1樓:匿名使用者
逗號運算子是順序點,也就是說在2*x運算前,自增運算子+1的***已發生,x成為3
設x、y、z和k都是int型變數,則執行表示式:x=(y=4,z=16,k=32),x的值是什麼?
2樓:手機使用者
x=32
基本上這句程式在編譯之後,實際上的流程是:
1.將4賦值給y
2.將16賦值給z
3.將32賦值給k
4.將k的值賦值給x
逗號表示式c=(表示式1,表示式2)中,如果表示式1值為0,c的值是0還是表示式2的值?
3樓:育知同創教育
c語言提供一種特殊的運算子,逗號運算子,優先級別最低,它將兩式聯接起來,如:(3+5,6+8)稱為逗號表示式,其求解過程先表示式1,後表示式2,整個表示式值是表示式2的值,所以c=表示式2的值
設有以下定義 int a,設有以下定義 int a 2 3 , p 3 p a 則對a陣列元素的非法引用是( )
a啊!這位出題先生太忽悠人了,你沒有發現表示式中的a是大寫的嗎?沒定義啊 哈哈 int a 2 3 int p a與int a 2 3 int p 3 a 的區別 int p 3 是陣列指標,指向有三個元素的陣列 p a 0 位址 p a 1 位址 int p是整形指標 p a 0 0 位址 p a...
設有定義語句 char str20hellobe
char str 20 表示str是個二維陣列,每一維有二十個字元元素。char p 表示p是一個指向字元型別的指標,因此,p str 這裡會有編譯警告。但並不會產生錯誤。只是關於p的運算會是 p str的首地址,即 p指向 h p 1指向 e p 2指向l p 20指向 beijing 的首地址,...
跪求 若有定義 int x 3,y 2 float a 2 5,b 3 5則表示式 x y 2 int a
結果是1 x y 2 1這個不用說了,都是整形操作,沒有問題 int a int b 0為什麼呢?int a,int b已經強行把float型轉換成int型,系統將將呼叫 運算的整形形式,所以得到的結果也會取整,所以為0 int x 3,y 2 float a 2.5,b 3.5 x y 2 int...