菜鳥級C問題

2022-06-28 13:35:12 字數 1383 閱讀 4400

1樓:

char* strcpy(char* p,const char* q)

strcpy函式的功能是把字串q複製到p中,並不是你想象的是將兩個字串連線起來。

因此p中儲存的是字串"abcd"的首地址另外這個函式的返回值是複製後p的內容(也就是字串的首地址)因此這個返回值指向"abcd"因此結果是4

2樓:鬼火狼煙

char*p="abcdefgh";

這句p指向"abcdefgh"這個字串的首地址p+3,

這句把p指向的地址向前移動了3個char的長度.p本來指向存放a的記憶體空間,現在指向存放d的記憶體空間了.所以現在p指向的應該是"defgh"

cout<

這句strcpy(p,"abcd")把p開始的記憶體前5個char換成了"abcd"(因為是字串,所以"abcd"最後還有個'\0'),這個時候p字串從"defgh\0"變成了"abcd\0\0"由於字串碰到\0就結束了,所以實際strlen計算長度是到第一個'\0'為止,strlen計算的長度是不包括這個\0的,所以就是abcd的長度4

btw:樓上的xd該隱_墮的名字,難道出自"升龍道"中的那個老吸血鬼?哈哈,有意思

3樓:純意識生命

不要受前兩句的影響

第三句,strcpy把"abcd"複製到p,這時p中有資料a,b,c,d,\0,當然後面還有但我們不用管。

而strlen語句用來計算字串長度,原理是從頭數到「/0」,後面的就不再數

其結果就是 4

因為只數了a b c d

4樓:湛藍水晶

鬼火狼煙哪,p+3沒有改變p的指向呀

變成4是因為*p="abcd"了

不過這段程式有問題,p開始指向的是常量,strcpy對常量儲存區的內容進行了修改。

5樓:匿名使用者

你要注意:

1第一句是讓字元指標指向一個常量字串

2第二句實際上是一個沒有任何效果的語句

3第三句是先將字串abcd拷貝給字元指標p然後計算p所指向字串的長度

該題主要是看你對strcpy()函式的理解.

要注意strcpy()函式在拷貝完字串後是要加一個結尾符'\0'的.

所以strcpy(引數1,引數2);呼叫的時候一定要注意:

引數1(字串)的長度一定要比引數2(字串)的長度大至少1才不會出問題.!

6樓:我的奔程

char*p="abcdefgh";

p+3,

cout<

所以求長為4

C 菜鳥問題

include include include include include using namespace std class rect int getl const int getw const int geth const private int length int width int h...

C語言菜鳥問題

檔案輸入和輸出是很重要的 因為對於資料庫的訪問,就必須通過檔案的輸入輸出來解決。現在的資料一般都是儲存在檔案中的,比如某個學校的學生資訊,這些資訊肯定要事先儲存在檔案中,這些檔案可能是資料庫檔案也可能是一般的檔案,但絕不可能在使用c語言的時候再來現場輸入,所以當你使用c需要對這些資料進行處理,比如使...

關於菜鳥C 的return問題!急!在先等待

樓上的說的很對了,不知道例子看懂沒有。我補充一下複雜一點的,不過應該可以加深你的理解,比如現在我們要寫一個判斷函式 int judge 假設a已定義 這樣我們可以接著用,假設a銀行使用者存款金額,judge函式用來判斷使用者的帳戶是否還有存款 接著寫下面的 void main 不知道對你有沒幫助,呵...