係統粉 > 電腦問答 > 其他問答

已解決C語言中的逗號表達式在實際例子中怎樣使用呢?

提問者:死亡伊甸園  |  瀏覽次  |  提問時間:2017-02-05  |  回答數量:9

C語言中的逗號表達式在實際例子中怎樣使用呢? 譚浩強《C程序設計(第三版)》一書中,“3.10 逗號運算符和逗號表達式”一節裏有這樣一個逗號表達式的例子:a=3*5,a*4。  我用一個小程序將這個表達式代進去,發現結果與譚浩強的結果是不一樣的!void main(){ int a; a=3*5,a*4; printf(\"%d\\n\",a);}  結果:15  譚浩強的結果是60,這差距也大了點吧!!  不知道我這個程序那裏出了問題,還望各位指教!!  謝謝!!

已有9條答案
乖娃娃二代

乖娃娃二代

回答數:190  |  被采納數:54


這樣a確實是15啊..
a = 3*5嗎[s:460]

void main()
{
int a,b;
b =(a = 3*5,a*4);//這樣取最後的表達式:a*4(前邊的a=15了)
printf("%d\n",b);
}

[s:470]
2017-02-05 14:54:53
讚 19
江蘇衛視組

江蘇衛視組

回答數:174  |  被采納數:16

逗號後麵的根本就沒有運算,而且編譯時就把3*5替換成常數15了。
(1)
2017-02-05 14:31:16
讚 17
li724643252

li724643252

回答數:193  |  被采納數:40

[s:469] [s:469] 偶也學習啦~
2017-02-05 19:47:00
讚 19
一身迷彩de愛戀

一身迷彩de愛戀

回答數:145  |  被采納數:65

但是,2樓版主的貼圖我沒有看明白?!!
  什麼意思??
2017-02-05 16:39:54
讚 14
蕭何雨下追韓信

蕭何雨下追韓信

回答數:17  |  被采納數:137


mov dword ptr [ebp-4],0fh
這句是吧
是彙編的......
意思就是把15給ebp-4的地址!
0fh是十六進製的,十進製的就是15嗎
前邊的同計算......
也就是直接給當15了.....[s:470]
2017-02-05 13:47:17
讚 1
晶晶在微笑

晶晶在微笑

回答數:8  |  被采納數:47

嗬嗬!隻恨自己對“彙編”一竊不通啊!
  謝謝!

  不過,今天我再重新運行這個程序後,結果卻又變成了:60!
  隻是重新編譯了一下,怎麼又正確了呢??
2017-02-05 23:16:30
讚 0
hebe940

hebe940

回答數:198  |  被采納數:1

可能是你之前編譯了,改了後沒編譯就運行之前的了.......
2017-02-05 17:50:13
讚 19
海濱宸曦

海濱宸曦

回答數:36  |  被采納數:4

之前也有幾次類似的情況發生過:
  第一次運行時的結果是錯誤的,第二天再開機運行,又不明所以的結果成“對”的了!

  每次運行C程序,都是直接“ctrl+F9”啊?!!
2017-02-05 15:30:14
讚 3
rwj5218538

rwj5218538

回答數:127  |  被采納數:93

謝謝各位!
  這個問題基本解決,每天打開電腦,都要先重複試試這個程序,看看自己能不能想到解決的辦法。
  今天又試了試,結合昨天我另一個問題朋友們提供的思路……嗬嗬!
  終於算是有眉目了!

  在程序頭加上:#include <stdio.h>
  一切OK了!!
2017-02-06 00:51:06
讚 12
相關問答
最新其他問答
解決方法