C++高手請進,求救一下,這個程式該如何寫,感謝。 試修改以下程式,使得在程式碼6-18行中,每執行完一行,便能印出變數a、b;ptr1、*ptr1、ptr2、*ptr2?

已更新項目:

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int a=5,b=10;

int *ptr1,*ptr2;

ptr1=&a; /* 將ptr1設為a的位址 */

ptr2=&b; /* 將ptr2設為b的位址 */

*ptr1=7; /* 將ptr1指向的內容設為7 */

*ptr2=32; /* 將ptr2指向的內容設為32 */

a=17; /* 設定a為17 */

ptr1=ptr2; /* 設定ptr1=ptr2 */

*ptr1=9; /* 將ptr1指向的內容設為9 */

ptr1=&a; /* 將ptr1設為a的位址 */

a=64; /* 設定a為64 */

*ptr2=*ptr1+5; /* 將ptr2指向的內容設為*ptr1+5*/

ptr2=&a; /* 將ptr2設為a的位址 */

2 個已更新項目:

因字體字數有限,後半部是

printf("a=%2d, b=%2d, *ptr1=%2d, *ptr2=%2d\n",a,b,*ptr1,*ptr2);

printf("ptr1=%p, ptr2=%p\n",ptr1,ptr2);

system("pause");

return 0;

}

1 個解答

評分
  • 5 年前
    最佳解答

    閣下只需要將"最後那兩段"加入到每一段就可以了:

    printf("a=%2d, b=%2d, *ptr1=%2d, *ptr2=%2d\n",a,b,*ptr1,*ptr2);

    printf("ptr1=%p, ptr2=%p\n",ptr1,ptr2);

    但本人建議你應該在程式定義了「變數」後才要求列印。

還有問題?馬上發問,尋求解答。