這個c語言指標題怎麼做?卑微求教

時間 2021-10-27 23:24:24

1樓:中午起床氣很大

先看fun函式,接收兩個指標型別的形參,然後將b中儲存的位址的值賦值給a(實際上現在a和b都指向b所指的位址),再讓a指向的值自增1

再看main函式,宣告兩個char型別變數 c1 c2和兩個char指標p1 p1,然後將c1變數位址賦值給p1(現在p1就指向c1了),再將c2的位址賦值給p2,然後將p1,p2作為引數呼叫fun函式,這裡發生的事情是這樣的,將p1裡儲存的位址複製到形參a裡面,將p2裡存的位址複製到b裡面,也就是說現在fun函式裡的a b是p1 p2的副本,對副本的操作不會影響到本體(也就是對a b的修改不會影響到p1 p2儲存的值),所以fun函式的a=b,對p1 p2不構成影響,(*a)++,我們先看*a,表示定址a儲存的位址,現在a中的位址和b相同也和p2相同,p2的位址就是c2變數的位址,也就是說*a操作找到了變數c2,然後對*a進行自增,也就是對c2變數進行自增(+1),對字元自增也就是對字元的ASCII碼自增所以現在c2就變成了'b',然後以字元的形式輸出c1 c2分別是'A' 'b'

這個c語言程式設計題該怎麼做?

劉雲賓 將各個數字都轉換為字串 將各個字串排序,大的在前,小的在後 將各個字串從左到右連線起來,就是答案 C 實現 include include include include include std string fun int n,int a int mainint n 3 int a std...

這個c語言問題怎麼做?

混沌 0xffffffff表示的是乙個十六進製制數1.將其轉換為十進位制數 0xffffffff 16x10 7 16x10 6 16x10 0 4294967295 2.將其轉換為二進位制數 十六進製制轉換為二進位制就是直接把每位轉換成二進位制就可以了f變成二進位制 1111,則 0xffffff...

作為C語言初學者 這道題怎麼做?

看星空的倉鼠 轉8和16進製制沒時間想 轉二進位制 int bin 8 int toBin int data for int i 0 i 8 i bin i data 0x80 data 1 新上路的司機 include intpow 10 inta inttoB inta,intb 10進製轉任意...