# **第二週 程設二上課內容**
1. 試著使用指標 *p , 把變數n1 的值改掉
程式碼如下:
#include <stdio.h>
int main()
{
int n1=10,n2=20,n3=30;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
int *p=&n1;
*p=200;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
return 0;
}
執行圖如下

2. 試著使用指標 *p2 , 把變數n3 的值改掉
程式碼如下:
#include <stdio.h>
int main()
{
int n1=10,n2=20,n3=30;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
int *p=&n1;
*p=200;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
int *p2=&n3;
*p2=300;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
return 0;
}
執行圖如下

3. 試著先 p2=p1, 然後 *p2=400, 再印出來。
程式碼如下:
#include <stdio.h>
int main()
{
int n1=10,n2=20,n3=30;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
int *p=&n1;
*p=200;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
int *p2=&n3;
*p2=300;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
p2=p;
*p2=400;
printf("n1:%d n2:%d n3:%d\n",n1,n2,n3);
return 0;
}
執行圖如下

4.現在改用陣列 int n[3]={10, 20, 30}, 再用指標, 去改裡面的值
程式碼如下:
#include <stdio.h>
int main()
{
int n[3]={10,20,30};
printf("n[0]:%d n[1]:%d n[2]:%d\n",n[0],n[1],n[2]);
int *p=&n[0];
*p=200;
printf("n[0]:%d n[1]:%d n[2]:%d\n",n[0],n[1],n[2]);
int *p2=&n[2];
*p2=300;
printf("n[0]:%d n[1]:%d n[2]:%d\n",n[0],n[1],n[2]);
p2=p;
*p2=400;
printf("n[0]:%d n[1]:%d n[2]:%d\n",n[0],n[1],n[2]);
return 0;
}
執行圖如下
