1樓:網友
a=0,b=0,c=5
c=(a-=a-5),(a=b,b+3);
先執行c=(a-=a-5),這句中a-=a-5就是a=a-(a-5)=5
執行這句後的結果就是a=5,c=5
再執行(a=b,b+3),a=b=0,b未發生變化,所以b=0所以最後結果就是a=0,b=0,c=5
2樓:天使大哥***
int a=0,b=0,c=0;
宣告並賦值。
c=(a-=a-5),(a=b,b+3);
先計算(a -=a-5),此時a = 5,c = a = 5, 因為逗號操作符的值因第一項的值,所以逗號後的項只計算,不對其他c的值造成影響。於是接著算(a=b, b=3),則此時a=b=0.
printf("%d,%d,%d",a,b,c);
輸入的是0,0,5
3樓:匿名使用者
a=0,b=0,c=5
a-=a-5 a先減5得 -5 ,a再-(-5) 得正5 所以 c=5
a=b 把b的值賦與a a=0 ;
b+3 沒有賦值 加3無用。 b=0
所以答案a=0,b=0,c=5
寫得亂了點,不懂發資訊問吧。
4樓:留級超人
c語言 我們老師告訴我們說 計算是從右往左 輸出是從左往右。。。具體的我也忘了!
先算a-=a-5 a=a-(a-5) a=5 c就等於5 a=b b的值給了a a就等於0 b+3沒用 因為沒賦值 結果出來了。
5樓:匿名使用者
五. 判斷一個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。
首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。
while(num>=10)
然後比較判斷就可以了。}
6樓:我不喜歡故事
第一題的資料儲存形式看不懂到底是啥意思。求解……
7樓:海海胡
選擇題:
1、c2、d
3、b4、c
5、a6、a
7、c8、d
9、b10、d
判斷題:1、錯2、對。
3、對4、錯5、對。
c語言問題
8樓:匿名使用者
首先,這是一道考區分 "表示式" 與 "表示式的值" 的題。
我們要注意,表示式也是有它自己的值的。
一、逗號表示式(表示式1,表示式2,..表示式n)採取從左到右順序求值,並把最後一個逗號後的表示式的值作為 "逗號表示式的值"。
如:表示式1,表示式2,……表示式n 這個 "逗號表示式的值" 就等於 "表示式n" 的值,與其它值無關。
二、賦值表示式(變數=表示式)採取從右到左求值,並把等號左邊的變數最終得到的值作為 "賦值表示式的值"。
所以,表示式(i=4,j=16,k=32)的值是 k=32 的值,而 k=32 這個賦值表示式的值就是等號左邊變數 k 的最終值,是32。於是,x 值為32。
9樓:匿名使用者
因為你只輸入了一個數10,系統把這個值賦給了變數a;你的程式中用了兩個變數去接收輸入的值,所以系統選擇了一個隨機數賦值給了變數b。
另外,虛機團上產品**,超級便宜。
c語言問題
10樓:匿名使用者
首先,手動計算一下怎麼才能交換。
根據題目要求,先算.
0的最小公倍數:18,這說明:最少10個一角、12個五角、9個一元才一樣高,也就是說小明可以交換的倍數是10*0.
1+12*元,而小紅交換的倍數是10元,雙方可以交換的的金額只能是90元、180元……你輸入n=3,那肯定不能交換啊。
來到這裡,如果認為效率為上的話,直接判斷小紅拿出的10元的張數n是不是9的倍數,一步就可以輸出結果了。如果n/9是整數,則一角、五角、一元的數量就是:10*n*n*n/9了,否則輸出不能交換。
其次,如果你硬要按照你源程式的思路做,那我只能指出最明顯的邏輯問題:for迴圈沒有大括號,所以它只會一直執行j=6*i/5;這一句直到條件終止,那當然輸不出結果啊。
還有沒有其他問題,既然是考題,自己思考吧。
11樓:匿名使用者
應該是資料型別的問題吧,不能用整型,整型沒有符合的解。
12樓:雲淡風輕
!(a+b)+y-1&&x+b/2
這就是邏輯運算子和算數運算子的優先順序運算問題;
是邏輯非運算子,意思是(a+b)如果不等於0,則!(a+b)的值是0,如果等於0,則!(a+b)的值是1;
知道了!(a+b)的值以後,!(a+b)+y-1的值也就知道了。
然後求x+b/2,先求b/2,也就是b除以2,用得到的商加上x,就得出了x+b/2的值;
然後如果!(a+b)+y-1的值不等於0,同時x+b/2的值也不等於0,那麼這個式子的結果就是1;
如果&&兩邊的式子都等於0,或者有一邊等於0,那麼這個式子的結果就是0;
13樓:網友
a :陣列名。
a[4] :是指陣列a中的第五個元素,陣列都是從0開始的,所以第5個元素是a[4]。
而++的意思就是自加一次,a[4]++等價於 a[4]=a[4]+1;
比如說:定義一個。
int a[5]=;此處的a[4]的值是4,即a[4]=4。
當執行 a[4]++時原來的a[4]會自加1,變成5,即a[4]=5。
一看哥們就是初學者,好好看書,這些東西書上都有的。。
14樓:汪好帥
額,前面的都已經解釋過了。
針對你補充的問題來講。
你是有意,讓它陣列越界的麼?!
int a[4];/最大的下標是a[3]a[4]是陣列越界了,a[4]沒有被分配,你可以嘗試去除錯測試看看。
#include
void main()
/試試檢視a[4]是啥東東。
printf("%d",a[4]++
15樓:海獅
a[4]++是什麼意思。
單獨使用相當於a[4]=a[4]+1;
如果在語句中表示,使用增量前的a[4]進行計算,執行完「;」後a[4]=a[4]+1;
16樓:下一次遠足
你定義的陣列沒有 a[4] 的吧。
int a[4]=只有 a[0],a[1],a[2],a[3]
a[4]越界了,編譯器會提示錯誤的。
17樓:網友
陣列a的元素只有4個,分別是a[0],a[1],a[2],a[3],a[4]是不在a的陣列裡的。
18樓:匿名使用者
陣列及運算問題,你先看看基本的型別中,陣列a的每個單元的型別,看是否符合++運算的規則,根據++的前置與後置的意義具體解答就行了。
19樓:帳號已登出
就是一個一個依次加一的順序。
c語言問題
20樓:天上的一條龍
非0數的邏輯值為1
5為1!8為0
所以-5&&!8為0
21樓:匿名使用者
首先說明一下,unsigned short佔用2個位元組,long在32位系統中佔用4個位元組;
我們對於指標進行操作時,指標移動的步長和它的型別是有關的,舉例如下:
如果指標p的型別是char* ,那麼p+1,就表示p向後挪動1個位元組;如果指標p是unsigned short* ,那麼p+1就表示p向後挪動2個位元組;如果指標p是long* ,那麼p+1就表示p向後挪動4個位元組;
現在來看你的題,本來myarray+2,其實是向後移動4個位元組,指向4這個元素;但是被轉化為long*後,它就往後移動了8個位元組,指向了0x1284,這是對這個指標進行取值,它的結果應該是。
0x00051284;然後再做型別的強制轉換,從long轉到char,截斷高3位,所以得出結果為0x84
22樓:網友
值是4(long*)是型別轉換。
第三個不清楚自己去試一下吧。
c語言問題
23樓:匿名使用者
1. turbo c能處理的資料有哪幾種?(5分)
整型、浮點型、字元型。
2. turbo c資料型別如何表示?它們的表達範圍是多少?佔用記憶體空間各是多少位元組?為什麼c語言中要嚴格區別整數和小數?(10分)
int、float、char
int 佔2位元組、float佔4個位元組、char佔1個位元組c語言是嚴格資料型別。
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...
c語言問題,C語言問題?
char c 好好看書去 小 超 字元型變數 1 字元變數的定義 字元變數只能存放一個字元常量。字元變數的定義形式如下 char c1,c2 2 字元資料在記憶體中的儲存形式及其使用方法 字元型資料在記憶體中以相應的ascii 存放。字元在記憶體佔一個位元組,表示數的範圍從0 127。把字元對應的a...