這個C語言程式的輸出是Ab,如何理解它

發布 科技 2024-02-24
14個回答
  1. 匿名使用者2024-01-25

    main()

    char c1='a',c2='a',*p1,*p2;

    p1=&c1;P1 指向 C1

    p2=&c2;P2 指向 C2

    fun(p1,p2);這是 p1、p2。 不是c1,c2,我們來看一下函式。

    printf("%c%c",c1,c2);所以,在這一點上,C1的含量沒有變化,C2增加了1,所以結果是ab

    void fun(char *a,char*b),其中 a 指向 p1,b 指向 p2

    a=b;這裡A指向B,也就是P2,所以此時A指向C2,C1還是自己的原來,沒有變化。

    a)++ 這裡 A 的內容現在是自遞增的,即 C2 的內容是自遞增的,即從 A 到 B,現在又回到了 main 函式。

  2. 匿名使用者2024-01-24

    我也是初學者,看到指標就頭疼,但是每次看到指標,我都會問三個問題,指標指向什麼型別,指標指向什麼型別,指標本身是什麼型別,弄清楚這三個問題,我發現我可以解決很多問題。

    char c1='a',c2='a',*p1,*p2;定義字元型別的指標,指向字元型別。

    p1=&c1;p2=&c2;p1 指向 c1='a',p2 指向 c2='a'

    之後,呼叫 fun 函式以傳入實引數 p1 和 p2

    a=b 是 p1=p2,p1 不再等於 &c1,p1=p2=&c2,c1 沒有錯。

    a)++ 這句話移動 c2,a=p1=&c2,*a=*p1=c2='a'再加乙個括號再加乙個,字元就應該用ASCII碼加。

    計算97+1=98,b的ASCII碼是98,讓列印的是C1,C2,顯然C1沒有變成A,C2變成了B,所以結果是列印AB

  3. 匿名使用者2024-01-23

    只需解釋有趣的功能即可。

    首先,第一行的趣味功能。

    a=b;這說明A現在指向的是B所指向的記憶體空間,其含義是,對A的運算實際上是對B指向的記憶體空間中的資料的運算。

    下乙個。 *a) 表示 A 指向的記憶體空間,這裡是 B 指向的記憶體空間。

    最終結果必須是 ab,因為 b=a+1;B 的 ASCII 碼值比 B 的 ASCII 碼值大一號。

  4. 匿名使用者2024-01-22

    指標傳入,指標由賦值語句(a=b)改變,指標由(*a)++改變原來的變數c2,所以前者無用,後者有用。 所以有這個結果。

  5. 匿名使用者2024-01-21

    在執行以下 C 程式時,如果輸入 ABC,則輸出為 ABC6789,因為 GETS 輸入字串 ABC 並將其重新分配給陣列 ss;

    在這種情況下,只有 abc 儲存在 ss 中,然後使用 strcat 將字串 6789 新增到 abc 的末尾(覆蓋 abc 末尾的字串'\0'),然後新增'\0'。所有最終結果均ABC6789。

    僅為某些元素分配初始值,而未分配初始值的元素會自動分配值 0。 為每行的前兩列分配乙個值,並為未分配值 0 的元素型別悄悄分配。

  6. 匿名使用者2024-01-20

    總結。 a++ 和 ++a 的區別在於 a++ 先賦值後計算,而 ++a 則相反。

    用輸入 a=10 和輸出 a++ 和 ++a 結果 c 語言編寫乙個程式。

    a++ 和 ++a 的區別在於 a++ 先賦值後計算,而 ++a 則相反。

  7. 匿名使用者2024-01-19

    選擇C,答案是0

    C>B>A 從左到右繫結,等價於: (C>B) > AC 的值是 3,B 的值是 2,所以 C>B 等價於 3>2,這是真的,所以它是 1(C>B>所以 A 等價於 1>A,因為 A 的值是 1, 所以 1>1 是假的,它是 0

  8. 匿名使用者2024-01-18

    1 a=b=c=1;++a||+b&&+c;執行後,輸出 a、b 和 c 分別為 2、1 和 1。

    2 ++a||+b&&+c;此語句將僅執行 ++a,而 ++b&&+c 不會執行。 C語言在做 ||算術時,如果第乙個運算元 ++a 為 true(非零),則直接返回 true,而不計算第二個運算元 ++b&&+c。

  9. 匿名使用者2024-01-17

    a=2,b=1,c=1;

    因為 ++a 的結果不是 0,||未執行以下語句,因此 b 和 c 的值沒有更改。

  10. 匿名使用者2024-01-16

    ++a||+b&&+c 和 ++a||(b&&+c) 等效,++a 為真 (++b&&+c) 不執行。 所以:

    a=2;b=1;

    c=1;

  11. 匿名使用者2024-01-15

    2 1 1;

    A是真的,我以後不做!

  12. 匿名使用者2024-01-14

    執行後,x[3][4] 內容如下:

    a b c \0

    a b c \0

    a b c \0

    a[0][0]),內容的開頭是:'a',腔體的輸出是 abc(a[1][1]) by string,開頭的內容是'b',圓背串的輸出是bc(a[2][2]),開頭的內容是'c',字串的輸出是 c,因為恆祿這個輸出是問題的結果。

  13. 匿名使用者2024-01-13

    d.該問題測試對程式操作的理解和計算機入門的基礎知識。從問題<>的輸入開始執行<>,開始賦值<>,此時 A 是 7 而不是 1,<>“Get <>”執行,即此時執行結果<>,最終輸出為 <>

    值是 7 和 13,所以答案是 d

  14. 匿名使用者2024-01-12

    首先,這個程式的輸出不是ab c,而是:abc

    因為在鍵入 ab 後,當您按 Enter 鍵時,您將在緩衝區中輸入換行符'',所以在字元變數 A 和 B 分別接收到字元 A 和 B 後,字元變數 C 接收字元'',然後字元變數 d 接收字元'c',所以輸出:ABC

相關回答
13個回答2024-02-24

int 的範圍太小,如果乙個數字的 n 次方大於 int 的範圍,那麼該數字就會溢位,導致 sum 的值不正確。 >>>More

17個回答2024-02-24

在計算機中,沒有原始或反向程式碼。

輸入的值,無論是正值還是負值,都會被編譯並儲存為補碼。 >>>More

14個回答2024-02-24

在 VisualStudio 2013 中編寫和除錯 C 語言程式的步驟: 1.開啟 [檔案] - 新建 - 專案以開啟“新建專案”視窗。2. 在[模板]、[名稱]、[位置]和[解決方案名稱]中選擇[Visual C++] Win32控制台應用程式,可以根據需要填寫。 >>>More

7個回答2024-02-24

#include

int main() >>>More

13個回答2024-02-24

int i, j;

int *p = i; >>>More