下面程式段的執行結果是charp

時間 2022-02-01 17:40:28

1樓:

halps 說得有道理

strcpy的實現**

char * strcpy(char * strdest,const char * strsrc)

函式把『\0』也拷貝進去了的,而strlen也是取得『\0』之前的

2樓:匿名使用者

我也不知道,身邊也沒有c的編譯器,網上看了看。首先strcpy(p,"abcd")這句是說。將abcd賦值個p,他們之間是怎麼賦值的呢,讓p指標指向「a」的位址,如果取值的話就*p拿到a了。

這個函式返回的值是目標串的位址,也就是p啦,那麼p是個指標怎麼算位址的長度呢,其實就是strlen("abcd")啦,為什麼,計算機知道的啦,因為p指向了「abcd」首位址了,而c語言中預設在abcd後加個結束符的,所以答案就是4了。

3樓:

strlen函式是檢查'\0'作為結束符,strcpy後*p的值應該是「abcd\0fgh」

4樓:你好_舊時光

p+=3後 *p為defgh strcpy 拷貝abcd給指標p 覆蓋原來資料

5樓:那個蘿蔔嘞

p+=3使指標p指向字元"d",函式strcpy的功能是把後面的字串複製到p指標指向的空間,即將"abcd"複製到指標p指向的位址,此時p="abcd";strlen函式的功能是求字串的長度,並返回字元個數,不計最後的"\0"。本題結果為4,即字串「abcd」的長度。

下面程式段的執行結果是( ) char str[]=」abc」,*p=str; printf(「%d\n」,*(p+

6樓:匿名使用者

選擇b。

字串str實際上後面加了乙個'\0',而*(p+3)即將第字串第四個字元的ascii列印出來,這個字元是'\0'.它的ascii碼為0

下面程式段的執行結果是( ) char str[]=」abc」,*p=str; printf(「%d\n」,*(p+3)); a

7樓:姑涼左耳說愛我

指標變數p指向的是該字串中的首位址,p +3指向的是字串結束標誌'\0'的位址。

所以,(p+3)的值為0

8樓:匿名使用者

a,指標指向字元c位址,將字元c以整形數輸出。

9樓:王傳宇

printf("%d\n",*(p+3));

這句就是將*(p+3)所指的字元轉為ascii碼因為*(p+3)所值的位置是空字元,空字元轉為ascii就是0~我上機執行了一下,結果也是0

10樓:深思深思

a 在asc||表中 字元a的值為 67

*(p+3)的是 c

以下程式段的執行結果是( )。 char str[ ]="abcdef",*p=str+3; printf("%s",--p);

11樓:

結果是cdef,c正確,選c——因為str是指向a的,str+3就指向了d,也就是p指向了d。輸出的是--p開始的值,前--要先對p-1,即p指向了c,所以輸出是從c開始的字串。

下面程式的執行結果是為什麼,程式的執行結果是 ?

楊兵 執行結果 147 include void main 1 4 7 i 先進行加1操作,然後再判斷i是否符合要求 程式的執行結果是 聽不清啊 因為 i是i先自增後再取i的值,而j 是先取j的值,然後再j 自減。所以,程式的輸出是 9,9,9,10 輸出9,9,9,10 下面程式的執行結果是 a葰...

下面程式的執行結果是什麼?為什麼

南睿薇 二10 20 d類是從b類和c類派生的,而b類和c類又都是從類派生的,但各有自己的副本。所以對於物件d,d.b n與d.c n是兩個不同的資料成員,互無聯絡。所以程式結果為 10,20三35 4523b d 3,5 呼叫建構函式b int,int a int 得到x 3 y 5 d.disp...

程式執行後的輸出結果是,c語言,以下程式執行後的輸出結果是

32768正確 乙個整型變數只能容納 32768 32767範圍內的數,無法表示大於32767的數。遇此情況就發生溢位,但執行時並不報錯。數值達到最大值時後,從最小值計數,所以32768 32767 1,在c裡就又回到 32768了 把int b 改成long b b ld 再試試看 根據編譯器的不...