有關c語言的幾道題,求答案及解釋

2021-05-02 22:26:26 字數 2242 閱讀 2619

1樓:

你的第一道題:答案為0,但是我也不知道為什麼。我問了幾個人,結果給我的回答都不滿意!

2樓:

1.若變數已正確定義,在執行以下while語句時,輸出字元a後,ch的值是__.

while(ch=getchar()=='a');//是不是輸入字元a後啊 值應該是65,就是a的ascii碼,我估計你這ch是整型變數

2.庫函式strcpy用以複製字串。若有定義和語句:

char str1="string",str2[8],*str3,*str4="string";

則以下對庫函式strcpy的運用錯誤的是

a)strcpy(str1,"hello1"); b)strcpy(str2,"hello2");

c)strcpy(str3,"hello3"); d)strcpy(str4,"hello");//選c,因為犯了指標未初始化就使用並且儲存在只讀域中,無法寫入的錯誤

3.以下程式執行後的輸出結果是__

#include

#include

main()

//輸出是:"goodgood"

執行一下就知道了,s字串沒有改變的原因四sp="to";是對指標sp指示位置的改變,不是改變其內容,所以輸出結果不變

ps:第一道題5樓正解...

3樓:匿名使用者

1 int ch = true(1),

while(ch=getchar()=='a');

等價於while(getchar() == 'a')ch = 1;

2 選c 原因是在用strcpy的時候要確保有足夠的空間去儲存要賦值的內容,明顯str3它只是一個定義了一個指標,並沒有指向具體的記憶體,因此無法賦值,其它三個在定義的時候就初始化了,指向了具體的記憶體;

3 goodgood!

原因是在指標指向的時候它的起始地址(也就是s)並沒有改變,只是指向它的指標sp發生了變化,sp先是指向了第三個字元o,後來給讓它指向了to,所以最後sp指向的內容為to,而puts(s)還是原來的內容goodgood!

還有不懂的繼續交流~~

4樓:匿名使用者

1、a 右賦值;

2、這個在wintc下編譯都沒有錯誤。不過理論上c錯誤,沒有初始化陣列;

3、goodgood

按引用呼叫和按值呼叫的區別。這裡是按引用呼叫

5樓:我是凡河

1、題目倒數第二句改為「輸入字元a後」的話,ch的值是'a',getchar()是從標準輸入流讀取一個字元,並返回這個字元,賦值給了ch,所以ch的值就是你輸入的那個字元,你輸入a,它的值就是a

2、暫時還不是很明白,c和d都能在win-tc下編譯通過,值都存在變數str3,和str4裡面,可以通過printf("%s",strx);看,但是沒有字串沒有存在指標指向的地址,不懂,指標還待學習……

3、輸出為goodgood;

*sp = s表示把s陣列的首地址賦予指標sp,

sp = sp + 2讓指標sp往前移兩個位置,也就是它現在指向了s[2],原來是指向s[0]

sp = 「to」我想是把「to」賦予sp,因為sp本身也是個變數,原來儲存的是s陣列的地址,現在變成了「to」,如果你在後面加上

printf("%s",sp);

你會發現輸出的是to,

puts(s)就是輸出字串s;

可以明顯發現,後面幾條語句根本沒有對陣列s進行操作,所以輸出結果就是s初始化的值

目前的認識就這些了

6樓:匿名使用者

1: 0, 賦值操作的優先順序低於==,所以退出while時==表示式值為0,並且這個0被賦值給ch

2: d 這個string儲存在只讀區域,無法對其執行寫操作,否則丟擲異常

3: goodgood,兩條賦值語句都是在改變sp指標的值,對s無影響

補充:2: 當然c也是錯的,應該選c,d...

7樓:匿名使用者

1:回車. 它是基於行緩衝,是一個字元接一個字元的讀 2:

c.因為這個指標可以指向任何位置,可能導致系統崩潰 3:goodgood!.

sp是指標,無論它指向哪,s陣列不變,故原樣輸出

8樓:幽靈一刀

1. 1

3 goodgood!

9樓:

1a 2c 3dgood

C語言程式設計題,求答案 解釋,謝謝大佬

1 這個位置,因為在主函式之外,只有一行。一般來說是 include了其他的庫,或者是 define了一些什麼,或者是前向宣告 但鑑於題目裡掃視了一眼只有一個非主函式,所以不會是這個 那我最大的傾向就是 include,接著我會直接看主函式 先學會看變數,可以看到題目裡有三個變數x,y1,y2。和我...

C語言程式執行結果題,求答案,C語言程式設計題求答案!謝謝!

20 0 3,5這是語法錯誤之題,不做 sum 13 會產生編譯警告11 開啟自己電腦試試不就知道了?當然你要知道他是幹什麼的命令,如果是對電腦不利的命令最好不要試,不然電腦會壞的。既然是題目,應該都是一些測試累的題,拿電腦試試沒關係的。c語言程式設計題求答案!謝謝!void main 來int a...

急求一道c語言題答案及解析,急求一道C語言題答案及解析

這題你要理解i 與 i的用法,i 是指取值用後再減,i是指減了後在用。也一樣 還有你要明白邏輯運算 表示 與運算 表示或運算。他們有什麼特點呢?是見假為假,是見真為真 我給你分析一個其他的自己好好看看.m 1 x y z p x,y,z 首先判斷x 的值為1 這個x y z 句子就完了,可以判斷這句...