C語言,這題解析是不是錯了,C語言,這題的解析有問題把??

時間 2022-04-06 12:05:13

1樓:童之新

因為指標是*p與*s是int,因為指標p=c,即*p=c[0],那麼*(p+1)=c[1],指標之間的加減運算是根據指標的型別進行調整的,所以雖然s-p地址之間相差20,但是這兩個地址之間只相差5個地址。倘若你把*p與*s改成short或char型別,那麼答案卻變成了10或20了

2樓:洪冷鬆

028.5e-3 可以,但加上 -0xf 就組成了表示式,0xf 是16進位制常數。

0003.e5 等同 0003.0e5, 等同 3.0e5 是數值常量.

b 的 2個 數用 逗號分隔,前面是合法的16進位制數,後一個是 e 格式的常數。

3樓:匿名使用者

*p=10,*s=60

p是a[0]的地址,s是a[5]的地址

s-p=(s與p的算術差值)/sizeof(int)s-p實際上是地址s與地址p直接有多大的空間,再按照int型別的大小分,得出結果5沒毛病的

4樓:老猴子不會胖

指向同一陣列的指標之間 僅可進行 加 減 操作

結果為整形,大小為陣列個數

兄弟 書要好好看才行

5樓:聽不清啊

題目的解析是完全正確的。

c語言,這題的解析有問題把??

6樓:莊政警

注意那條件是*p!=0,而不是*p!='0' , 數值0和字元'0'不一樣,字元'0'的值是48

所以不管是"0abcdef"還是"oabcdef", 迴圈都會執行,答案是c

c語言,這題的答案是a,解析怎麼說c也是對的?

7樓:匿名使用者

是和p='\0';等價,注意是字元,有單引號的

c裡面的是\0,沒有單引號,什麼都不是

c語言,這題printf輸出是不是有問題?

8樓:匿名使用者

不需要加*,按%s格式是輸出一個字串,需要的就是一個地址啊,是字串的起始地址。如果按%c輸出,就需要加*,這是輸出一個字元。

9樓:匿名使用者

printf的%s格式只需要給出char陣列的首地址就可以完整的輸出整個字串

如果把%s換成%d就是輸出的地址

c語言,這題c答案不是也有問題?

10樓:匿名使用者

c確實是錯的。s++後面一定要+;

11樓:不__如

while迴圈又不需要加;

c語言,,巨集是什麼?? 看不懂題目,求解析題目要求,,

12樓:金色潛鳥

#define sq(x) 這裡不要漏了空格 ((x)*(x))sq(x) 是計算 x 的平方。

----------

求兩個數的最大值,巨集是 mm(a,b) 那一行。注意空格符號不要漏了。

#include"stdio.h"

#define mm(a,b) a>b?a:bvoid main( )

c語言,這一題是答案錯了嗎?

13樓:匿名使用者

答案沒錯。

else中的a是塊級變數,離開else語句塊,這個a就釋放了。

而return中的a才是靜態區域性變數a。

C語言,哪裡錯了,c語言,哪錯了?

printf maxmum d,z 這裡有問題,其他的地方沒什麼 一般來說建議子函式在main前面寫 這樣就可以不用宣告瞭scanf d d x,y 這裡建議多個資料同時輸入的時候用空格或者逗號隔開,輸入時對應 printf maxmum d,z 你的這句缺半個引號和分號。建議你這樣改 includ...

c語言關於函式的程式問題解析

差不多也算一個遞迴問題了 if b 2 conv b 2 當b 2時呼叫本身第一次if b 2 執行conv b 2 第二次if b 2 這時b為b 2 為真就繼續執行conv b 2 為假執printf d b 2 返 用它本身的那裡去 比如b 22 第1次 b 22,呼叫conv b 2 第2次...

C語言的幾道習題,C語言習題解答

1 c b 為真 即1 b.相當於1 1 5 為 3 c.不會 沒寫全?d.為真 排除法 選c 2 相當於 即 填。3 b 左右只能為正整數。4 即即。5 d 優先順序高於 先計算b 2 為0 然後2 0 2 即d 6 m 10 10 7 a8 7 a 為真 跳過b 直接執行a 1 9 15 a a...