c語言問題,想問一下這道題的答案是不是有問題啊?求解釋謝謝

2021-03-24 11:50:46 字數 4085 閱讀 3914

1樓:哥德**的憂鬱

我的選擇是b,應為%%會被是識別為字元%,而不會識別為列印格式符,所以你把所有的%%替換為字元%即可會被直接列印出來,不清楚歡迎綴文,

而且我在編譯器上執行了,沒有問題。

2樓:不懶不好吃

沒錯啊 應該是選b

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

3樓:匿名使用者

答案沒錯。

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

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

c語言題目。這道題看不懂。。求大神詳細解釋下,謝謝

4樓:匿名使用者

答案選b。

定義結構體陣列c

未執行f(c)時,c[0]為 qian,f,95,92 c[1]為 sun,m,98,99

執行f(c)時,將c作引數傳遞

執行f(c)後將c[1]的值改變為 zhao,m,85,90f()函式作用就是對c[1]重新賦值

c語言問題,求解釋

5樓:匿名使用者

int *ptr1 = (int*)(&a+1);//這裡a是一個zhi長度為dao5的陣列,它加1預設的型別是加內一個陣列的長度的,因此,&a+1後的地址

容為a[5]的地址...假設他有第五個元素...因此ptr1這時的地址已經為a[4]的下一個元素了.

這時ptr[-1]其實地址轉化的時候即為 ptr-1,這時的ptr為int型指標..即為a[4], 為5

int *ptr2 = (int *)((int)a+1);//這裡注意a作為強制型別轉換了...因此a+1即為a的地址的下一個位元組.記憶體我可以這樣寫一下注意,我用的是十六進位制 01 00 00 00 02 00 00 00......

當你+1了以後,即從第二位開始01 (注意從這開始後面四個位元組..)00 00 00 02 00 00 00...因此十六進位制輸出為00 00 00 02...

6樓:塵嵐醉俠

那個5容易解釋,&a是二重陣列的首地址,加一就指到第二行第一個字元,而數版組不管幾維

權都是連續的,第二行上一個字元就第一行最後一個字元,所以是5,關於這個20000,我覺得可能就是隨機生成的亂碼,應為ptr2裡面的地址空間沒有賦予任何內容,所以強行輸出就只能是亂碼

7樓:手機使用者

|主要原理就是短除bai法,dulz應該知道吧。比如把十進位制zhi6轉成2進位制,就這樣:dao

2|| 6 餘0

2|| 3 餘1

1然後把專剩下的1作為第一屬個數,依次取餘數,這樣就是110。

根據這個方法,就可以對程式作出解釋了。

其實就是遞迴,不斷短除直到餘數為可以直接用,然後再按短除法的方法不斷從下往上加。還是以6和2為例,執行後結果為trans(6,2)=trans(3,2)*10+6%2,trans(3,2)=trans(1,1)*10+1;trans(1,1)=1;所以trans(6,2)=110.

8樓:

ptr1得到的是指標a的地址+1,是個不確定的地址。

ptr2輸出的是a[1]的地址。

c語言結構體問題想問一下a【i】.s什麼意思?謝謝! 10

9樓:非常可愛

a是結構體陣列,i是這個陣列的第i個結構體;

a[i]同一個型別資料的一個指標,這兒是判斷s指向的這個結構裡的成員s是否比a[i]裡的s大;

s是指向結構陣列a的某一個值,這實際就是比較結構陣列a裡面的2個元素的s的值的大小。

例:struct a

a[i];

a *s;

擴充套件資料

資料結構分類

1、陣列(array),陣列是一種聚合資料型別,它是將具有相同型別的若干變數有序地組織在一起的集合。

2、棧( stack),棧是一種特殊的線性表,它只能在一個表的一個固定端進行資料結點的插入和刪除操作。

3、佇列和棧類似,也是一種特殊的線性表。和棧不同的是,佇列只允許在表的一端進行插入操作,而在另一端進行刪除操作。

10樓:我不知道啊啊

a是結構體指標,實參是s,s是一個結構體陣列,在函式fun中可用a來訪問s中的元素,a[i]是s的第i個元素,因為每個元素都是一個結構體,所以a[i].s就是訪問第i個元素的s成員~

11樓:朱軍

a是結構體陣列,i是這個陣列的第i個結構體,是a【i】這個結構體中的s成員

12樓:匿名使用者

訪問結果裡面的變數 。

求解釋c語言這道題,看不懂程式,解釋一下過程!!謝謝

13樓:折翼鯉魚

你好你這個應該只有兩行輸出啊,

第一行 是 -1 6

第二行是 6

c語言問題,求解釋

14樓:匿名使用者

static int x=0; 靜態區域性變數,只初始化一次,即這句只會執行一次

x+=1; //第二次就直接從本句開始執行increment()函式了,x為上次執行的結果

所以,三次輸出為 1 2 3

15樓:匿名使用者

static int x=0;

這樣定義的是靜態變數,只有首次執行到這句的時候才執行。

執行之後,x作為靜態變數,一直存在。

所以第一次執行increment後,列印出1,且x=1。

第二次呼叫increment的時候,就不走變數定義這句了,x已經為1了。

執行完畢後列印出2,x=2。

同理,第三次呼叫increment的時候,不走變數定義這句了,x已經為2了。

執行完畢後列印出3,x=3。

main函式裡的

increment();

是在呼叫increment()這個函式。依次呼叫了三次。

16樓:好心情

這個主要是對static變數的理解,static變數是在靜態儲存區分配的記憶體,函式執行完成是不會釋放的,所以會有儲存上一次執行結果的效果,每次呼叫是在上次執行結果的基礎上進行的

17樓:蝸牛要奔跑

static是靜態變數:給你說個好理解的,它具有記憶性,也就是說會記憶上一次操作的變化

c語言程式題,不知道答案對不對,求解釋!

18樓:

此題的答bai案是b,60——因du為初始化a時第7個數是

14.16,所以zhi總共用11個數dao

來初始化12個元素的二維回陣列答a,最後一個數是0;第7個數因要截斷處理,所以僅得12;故a[4][3]實際上被初始化為,,,}。由於k+=*(*(p+i)+j);就是k+=p[i][j];,那麼i=1、j=1時k=0+p[1][1]==10;i=1、j=2時k=10+p[1][2]==22;i=2、j=1時k=22+p[2][1]==40;i=2、j=2時k=40+p[2][2]==60。所以b正確。

只是編譯時會有資料精度損失警告。如果14.16是14,16的筆誤,a就被初始化成,,,},用上述同樣的方法可以獲得結果是56,a正確。

19樓:極星亮晶晶

答案有問題,該選a,10+12+16+18=56

c語言問題,求解釋。謝謝大神

20樓:summer丨

c語言是當bai今最流行的

du程式設計語言之一,zhi

它的功能豐富、表達dao力強、使用靈活方便、專應用面廣、屬目標程式高、可植入性好,既有高階語言的特點,又有低階語言的許多特點,適合作為系統描述語言,既可以用來編寫系統軟體,也可以用來編寫應用軟體。c語言誕生後,許多原來用組合語言編寫的軟體,現在都可以用c語言編寫了(如unix作業系統),而學習和適用c語言要比學習和適用組合語言容易得多。威信餿鎖c語言plus,來學習c語言吧!

誰會做這道c語言的題目大神,這道C語言的題目怎麼做?

這種題就是一個變數型別的轉換 a y 8 x b 67.00000 下面的是是字元accii嗎 k 107 a k 107 c2 b 67 c,用ascii嗎顯示為 大專寫的c,a為65,b為66 因此輸屬出為 8,67.0000 107,c 輸出結果是 抄8,67.000000107,c 解析 a...

C語言題,這道題的答案為什麼是12呀,哪位可以麻煩寫一下過程嗎,或者詳細說一下,謝謝

這是用遞迴來求一個陣列n個元素的和。s的值,等於從aa 0 開始的3個元素的和。2 4 6 12 麻煩看下c語言這道題哪錯了 除了最後沒加return 0外還有哪些錯誤 謝謝 函式應該返回int型別。當然你把 放到編譯器中編譯一下,會發現更多錯誤。c語言程式分析題,這道題答案是7 19 怎麼算的呀,...

急需c語言程式設計題的答案,問題如下

樓上的回答雖然非常好,但有刷分嫌疑,乾脆我也刷吧.c語言程式設計問題。題目如下 1.include int sort int p double a 10 void main for i 0 i 10 i for i 0 i 10 i int sort int p t return p 2.inclu...