下列 C 語言敘述片段執行結果為何?
struct iptr
{
int *p1;
int *p2;
};
int main (int argc, char *argv[]){
struct iptr newptr;
int a=1,b;
newptr.p1=&a;
newptr.p2=&b;
*newptr.p2=2;
printf("%d,%d,%d,%d",a,b,*newptr.p1,*newptr.p2);
A1,2,0,0
B1,0,0,2
C1,2,1,2正確答案
D語法錯誤
答案與詳解
C
正確答案
struct iptr 內含兩個 int 指標,p1 指向 a、p2 指向 b,透過 *p2=2 改變 b 的值,最後四個輸出皆透過指標取值。