C語言求詳細解答初學者,C語言字串問題,初學者求詳細解答。

時間 2022-10-06 16:35:09

1樓:匿名使用者

這個主要是考查的是位元組對齊。

//這裡宣告了乙個聯合體結構,裡面有兩個成員,他們公用乙份記憶體空間union uu

;//宣告了乙個結構體,b1是結構體mm的例項化物件struct mm

b1;b1.y.a = 10;//為聯合體物件y賦值b1.p = "student";//指明指標指向的內容printf("%d",sizeof(struct mm));

執行結果是:8

原因是:int變數佔2位元組,float佔4位元組,在聯合體中他們公用乙個記憶體,所以整個聯合體記憶體為4位元組;char*為兩位元組;結構體所佔記憶體:char*的2位元組+空閒2位元組+聯合體物件4位元組 = 8位元組。

為什麼有空閒兩位元組,是因為位元組對齊的原因,變數的記憶體存放空間的起始位置需為變數長度的整數倍,在char*之後,位置為2,需要填2位元組才能成為聯合體長度4的整數倍。

2樓:alexgz玉麒麟

union uu: 聯合體

struct mm:結構體

bl:結構體變數

bl.y:  結構體變數bl中定義的聯合體變數bl.p: 結構體變數bl中定義的指標

3樓:匿名使用者

union uu 是共同體,uu 是共同體名 stryct mm是結構體,mm是結構體名,b1是mm這個結構體的變數名。b1.y.

a表示對於的聯合體中的整型a,,b1.p則是結構體中的

c語言字串問題,初學者求詳細解答。

4樓:yx陳子昂

a[i++]是利用i++先取值後自加的特性,把迴圈變數i的自加整合到乙個語句裡面

拆開看就是 a[i] != '\0'; i=i+1; 這兩條語句。

這個迴圈就是把a 裡面沒有小寫字母轉換成大寫字母。

5樓:最大的寶寶

陣列a存放的是源字串,也就是使用者輸入的,待處理的串。b用於存放轉換後的xf。轉換時,用whilde迴圈對a的每乙個元素依次作出判斷,結果存放在b[i]。

a[i++]是兩個運算的組合,一是a[i],二是i++,這麼寫比較簡潔。所以源**中用a[i] != '\0'判斷沒有到達字串尾後,再i++以處理下乙個字元。

如果a[i]已經到了串尾,這個while迴圈也就結束了,於是繼續後面的printf。

6樓:果糖並不吃甜

首先,要先知道陣列的一些基礎知識,比如這段程式中的a[20],是乙個長度為20位元組的字元陣列,a[0]就是這個陣列中存放的第乙個字元,a[1]是第二個,a[ i ]是第i+1個。

這個do...while做的事情就是,從a陣列的第乙個字元開始,到最後乙個字元結束,判斷各個字元是否是小寫字母,如果是小寫字母,就把它變為相應的大寫字母。

i一開始定義為0,那麼第一次迴圈,a[i]就是a[0],迴圈內操作結束後,判斷a[0]的下乙個字元是否等於\0,如果是就跳出迴圈,如果不是就繼續,a[i++]相當於a[i=i+1],經過這一步,i變為1,再次進入迴圈,對a[1]進行迴圈內操作。

7樓:阿四哥

c語言字串的學習,輸入指定字串,並且計算字串的位數

c語言問題求詳細解答,謝謝 25

8樓:穆詩

能正確編譯和執行了,不知可達到你要求,望採納!

#include

#include

#include

#define n 100

void printarray(int a,int n)void main(void)

{int a[n];

int i;

srand(time(null)); //initialize pseudo number seed

for (i=0; i

c語言問題,求詳細解答,謝謝

9樓:

break就是跳出一層迴圈,如果你在三層他就跳到二層,二層就跳到一層;

continue不跳出迴圈,而是如果你在乙個迴圈的第i次中遇到了乙個continue,他就不管continue後面的語句,直接執行第i+1次迴圈,還是這一層迴圈。

10樓:

個人理解

break:跳出當前所在迴圈體(指的是for\while語句乙個整套迴圈結構)

continue: 結束本次迴圈,不跳出當前迴圈體,繼續下次迴圈b、break語句只能跳出最內層迴圈 其實說的就是迴圈體的意思 自己懂了意思最好

c語言題目,求詳細解答步驟,謝謝。

11樓:匿名使用者

x=5,y=10, 呼叫fun時,開設臨時變數x和臨時變數y,與主程式中並非同一變數,因此內可以寫成:void fun(int xx,int *yy)

fun: xx=5,yy指向y,*yy即取主容程式中y的值,給*yy賦值即給主程式中y賦值, xx+=*yy;[xx=5+10=15], *yy+=xx;[y=y+xx=10+15=25], 返回時xx和yy被捨棄, fun(x,&y);[x=5,y=25]

fun: xx=25,yy指向x,xx+=*yy;[xx=25+5=30], *yy+=xx;[x=x+xx=5+30=35], 返回時xx和yy被捨棄, fun(x,&y);[x=35,y=25]

printf輸出:x=35,y=25

c語言作業,求詳細解答

12樓:匿名使用者

題目最好自己做,不會的看書或者查資料,對你以後有幫助的,不要總是讓別人幫自己做,要不連基礎都不會,找工作有問題的。

13樓:

1:62:4

3:b,b

4:15:457810

題目1:d,a,c,c,b,c,d

14樓:匿名使用者

這麼簡單的題目最好自己做

15樓:冷火清水

1 a=0,後面應該不參與計算吧··

c語言 求詳細答案?

16樓:無知的小卒

選c,改變p的位址相當於記憶體洩露。

17樓:匿名使用者

a.正確

b.正確

c.正確

d.不正確,實際上a陣列有11個元素

18樓:匿名使用者

應該是d吧 a的大小是11 所以最大能存放11個字元

19樓:

d錯誤,能存放11個字元才對。其餘均正確。

20樓:璇是彩虹

ghjkkmkllllikkll

c語言初學者的問題,c語言初學者的乙個問題

問題小一 上面那位回答很詳細了 問題小二 那是自己定義的,你可以改其他數字 問題小三 不設並不是任意長度,看你自己定義的型別 基本型別包括位元組型 char 整型 int 和浮點型 float double 定義基本型別變數時,可以使用符號屬性signed unsigned 對於char int 和...

C語言初學者,學C語言應該看什麼書

1全部 c語言教程 ira pohl,機械工業出版社。如果你覺得譚浩強那本你吃透了的話,不妨看看這本,你會發現,其實你還菜得很。這書不難,但是開眼。看了這本可以說c才有了一定基礎。如果想繼續c的話,c專家程式設計 c程式語言 反覆多讀,才會精通c。程式設計演算法的書,如果你數學還不錯,就 演算法導論...

c語言初學者應該看什麼樣的書呢,C語言初學者應該看什麼樣的書呢?

青水之畔 個人感覺國外的教材會比較好一點,畢竟,c語言還是以英語的思維習慣來的。開始學的話給你推薦幾本 1 c語言大全第4版 herbert schildt 這本應該說是比較經典的了。2 c語言詳解 第6版 problem solving and program design in c sixth ...