1樓:黃邦勇帥哥哥
第1題、b
char p="abc\0abcd\0abcde",p[0]=a, p[1]=b;p[2]=c;p[3]='\0'因此p[4]就指向第二個a,也就是p+4就能輸出第二個d,同理p+9能輸出第三個d
第2題 b
for(a=0, b=1;a<=b+2;a+=2, b--)
第一次a<=0+2成立,第二次a=a+2=2; b=0;條件a<=0+2=2因為a=2條件成立,執行
第三次a=4; b=-1條件不成立,所以迴圈兩次
第3題 b
字元b的ascii是十進位制的66,十六進位制的42,因此答案b是錯誤的
第4題 b
char p="ab\0cd\0e";
可以看到p[1]='a'; p[1]='b'; p[2]='\0'; ...類推
所以&p[0]能輸出ab遇到'\0'結束,p+3指向字元c的地址,因此能輸出cd遇到'\0'結束,同理p+6指向的是字元e,因此能輸出字母e,這樣就能輸出abcde了
第5題 d (很明顯的陣列越界)
答案a,沒有錯,因為p的地址與a的地址相同,p-a的結果為0,因此a[p-a]=a[0];答案b &a[i]表示a[i]的地址,*(&a[i])就表示的是a[i]。答案c很明顯正確,不解釋
第6題:c
因為字尾++是先求表示式再自加,因此j=-i++;先計算j=-i,因為i=1所以j=-1,然後變數i再自加,因此i=2
第7題:d
因為第一次迴圈會執行if(b%3==1)這個語句,得到b=b+3=4,這時continue執行,直接跳到條件語句a++,這時a=2,然後再執行if(b%3==1)因為b=4所以執行這個,這時b=7,再a++,這時a=3;再執行if(b%3==1)這時b=10,再執行a++,這時a=4,這次執行if (b>=10) 跳出迴圈,所以a=4;
第8題 a
因為 for(x=1;x<10;x++)
for(x=10;x<10;x++)
第二個for執行後x=10,這時第二個迴圈條件不成立,這時x=10再判斷第一個for的條件x<10同樣不成立,因此迴圈中的語句一條都沒執行,所以y的值為初值0
第9題 d
對於多維陣列使用者必須指定除最左邊的容量以外的所有容量,因此最後一個錯誤
第10題 本人認為選b。這個題本人答不出來,因為不知道fortran是什麼語言,但估計c比fortran語言快,因為好像到目前為止只聽過除了彙編比c快之外,還沒聽說其他語言比c快。
2樓:海角購物街
1、b2、b
3、a4、b
5、c6、c
7、c8、b
9、d10、d
以上是我做的答案,希望多lz有用---有答案的話,做錯了,希望lz可以跟我交流,我們互相學習,謝謝!
3樓:匿名使用者
1、遇到 \0結束,+4代表從第一個\0後面的a開始讀 很明顯答案是 b
下面答案這麼多 不說了。。
4樓:風飄絮
bcbad cdbac
5樓:匿名使用者
b c b a d c d b a co()^))o 唉
幫我下C語言 程式設計答案寫下,幫我下 ,C語言 程式設計 答案寫下
愛夜 formalue 中綴表示式 desc 目標 void convert char formalue,char desc 模擬棧 unsigned int stack p 0 棧指標while formalue if formalue if formalue stack p 丟棄 formalu...
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
c語言的多選問題,高手幫忙做下,C語言的多選問題,高手幫忙做下
及時澍雨 1 下列常數中能作為c的常量的是 a 0x4 b 2.5e 2 c 33 d 03a 選abc,因為0開頭的數字為八進位制數,僅有0 7,木有a這個數 2 下列計算機語言中,cpu不能直接執行的是 a 自然語言 b 高階語言 c 組合語言 d 機器語言 選abc,高階語言,編譯器會轉化為低...