1樓:小小不服
#include
int main ()
int a=1 ;
printf("%d %d %d\n",(a=3*5,a*4,a+5),a,30);
看看這個 吧
試試這個 你就會知道 首先第一個%d 對應的是,之後的 第一個 表示式的 值 是吧 ?而不是a的值
這點要知道 那麼 得出的結果 是不是20 記住 第一個%d 對應的是整個表示式的值 (不然你看看第三個%d 對應的是哪個 ?對應的是30
輸出結果為
20 1 30
這個 答案是在編譯器下進行的 非我亂說
我的這個式子是給a賦值了的 所以是1
你的那個程式沒賦值 所以 是初始化之前的 值 不確定是多少
各個編譯器不同 吧 我報上我的編譯器
c-free dev-c++ 兩個編譯結果都是我所述說的
對於其他的 我不敢保證 至於你有怎麼想法 拿起自己的編譯器 寫個程式 好過在這裡問
學c語言 沒有個編譯器 ?
我只能說兩個字 呵呵
2樓:
輸出的是逗號表示式,結果為最後一個表示式的結果,3*5+5=20
3樓:匿名使用者
首先a=5;
執行a=3*5
得a=15,且a=15的表示式值為15
原表示式變為
(15,a*4),a+5
計算a*4,但沒有影響a的值
整個表示式值為第二個表示式的值
原表示式變為
60,a+5
計算a+5,得20
原表示式變為
60,20
逗號表示式的值為最後一個表示式的值
整個表示式的值為20
4樓:匿名使用者
前面就是給a賦值 然後把這個值給到了最後 所以就是20了
5樓:手機使用者
是15以下程式執行結果為:
20a=15
main ()
6樓:月庭竹影
樓上貌似有對的,樓主多在編譯器上試試就知道了
7樓:匿名使用者
是15.
你自己確定是15就是15撒,相信自己的。樓主不夠果斷不夠自信啊。
你自己都察覺到了題目問的是a的值而不是輸出的值。難道還不能確定麼?
題:執行下面程式中的輸出語句後,a的值是() main () {int a ; printf("%d\n",(a=3*5,a*4,a+5));}
8樓:匿名使用者
輸出語句後,a的值為15,列印到螢幕上的為逗號表示式的結果20。
9樓:匿名使用者
這個主要是逗號表示式的計算
逗號表示式的要領:
(1) 逗號表示式的運算過程為:從左往右逐個計算表示式。
(2) 逗號表示式作為一個整體,它的值為最後一個表示式(也即表示式n)的值。
(3) 逗號運算子的優先順序別在所有運算子中最低。
所以,你的那個表示式(a=3*5,a*4,a+5),先計算a=3*5;這時a=15了,然後計算a*4=60,再計算a+5=20;逗號表示式的值為最後一個表示式的值,所以(a=3*5,a*4,a+5)=20
你的程式最後列印20
10樓:大白講大白
執行程式後 a=15.
printf("%d\n",(a=3*5,a*4,a+5);中只有a=3*5對a進行了賦值操作,後面有關a的計算,對變數a本身沒有影響。
11樓:手機使用者
%是取餘,/是除。根據逗號原理,輸出的是最後一個表示式的值。所以選c.
執行下面程式中的輸出語句後,a的值是().
12樓:戚文柏
答案:a
分析:main()
13樓:匿名使用者
24 選b
逗號運算,但是後面的和a沒啥關係(不是賦值運算)
14樓:祥龍九霄
d 由於printf語句中的是逗號表示式(逗號表示式執行的是最後一個逗號之後的表示式),實際上輸出的是a + 5,在之前已經執行了a = 4 * 6 和 a * 2,此時a等於 48,再加5結果是53.
15樓:匿名使用者
答案是24,a=4*6=24.
這麼簡單。
後面什麼a*2呀,a+5呀,都不改變a的值
執行下面程式中的輸出語句後a的值是? #include
16樓:幸運的
括號裡面是逗號表示式,從左往右運算,整個逗號表示式的值是最後一個決定的,所以首先a=15,然後中間個60,最後一個20,所以a=20
題:執行下面程式中的輸出語句後,a的值是() main () {int a ; printf("%d\n",(a=3*5,a*4,a+5));}
17樓:
先給a賦值為15
然後a*4得60
最後a+5得20
而整個逗號表示式的值永遠是最後一個表示式的值,這裡是a+5為20,所以返回20
下面這個連結說的很清楚
18樓:來根黃瓜不切片
這是逗號運算 a=15 , 60(a仍然是15), 20(a仍然是15)
最後結果應該是20
19樓:
(a=3*5,a*4,a+5)是逗號表示式,逗號表示式的值=最後一個元素的值,這裡就是a+5的值,而a=3*5,所以a+5=20,輸出20
20樓:匿名使用者
結果是20。
逗號運算應該取其最後一個表示式的值,所以結果是20。
陣列定義:int a[ ]={11,22,33,44,55,66,77,88,99};則執行下列幾個語句後的輸出結果是什麼?
21樓:匿名使用者
迴圈陣列,如果陣列的元素整除3的話就列印出來
結果是:33 66 99
執行以下程式後輸出的結果是mainint y 10 do ywhileyprintfd n ,y
y最終值為 1 y 是先抄作運 bai算然後減變 du量值 y是先減變數值然後再作運算zhi printf d n y 運算到這裡時,y是的dao值為0,由於是先算後減,所以在輸出y值後,再作減1運算,就成了 1 如果 y的初始值是不是偶的話,那就是死迴圈了.以下程式的輸出結果是 define mi...
下列程式執行後的輸出結果是c語言,以下程式執行後的輸出結果是
n j n t 1就是把n t 的值加上1賦給n j 首先迴圈 for t 0 t 3 t n t 0 之後,n 0 n 1 n 2 0,這是一個清零的操作 接下來是一個巢狀迴圈 因為k 2,所以for t 0 t for j 0 j 3 j n j n t 1 依次給n 0 n 1 n 2 賦予新...
為什麼程式只執行IF中的語句啊,為什麼程式只執行第一個IF中的語句啊?
應該是你最後的一個else除了問題,系統不清楚你的這個else是屬於哪個if的,你試一下加一些花括號區分一下 如果optype aaa cardstate 2 的話就會全部不成立啊 試試這樣 if optype delate cardstate 2 else if optype update car...