1   1  /  1  页   跳转

【求助】教材理解问题

【求助】教材理解问题

main()

{ int a,b;

  int *pointer_1, *pointer_2;

  a=100;b=10;

  pointer_1=&a;

pointer_2=&b;

  printf("%d,%d\n",a,b);

  printf("%d,%d\n",*pointer_1, *pointer_2);

}

 
对程序的说明:

1)      在开头处虽然定义了两个指针变量pointer_1和pointer_2,担它们并未指向任何一个整型变量。只是提供两个指针变量,规定它们可以指向整型变量。程序第5、6行的作用就是使pointer_1指向a,pointer_2指向b。


2)      最后一行的*pointer_1和*pointer_2就是变量a和b。最后两个printf函数作用是相同的。

3)      程序中有两处出现*pointer_1和*pointer_2,请区分它们的不同含义。

4)      程序第5、6行的“pointer_1=&a”和 “pointer_2=&b”不能写成“*pointer_1=&a”和 “*pointer_2=&b”。

请对下面再的关于“&”和“*”的问题进行考虑:

1)      如果已经执行了“pointer_1=&a;”语句,则&*pointer_1是什么含义?

2)      *&a含义是什么?

3)      (pointer_1)++和pointer_1++的区别?

【例10.2】输入a和b两个整数,按先大后小的顺序输出a和b。

main()

{ int *p1,*p2,*p,a,b;

  scanf("%d,%d",&a,&b);

  p1=&a;p2=&b;

  if(a<b)

    {p=p1;p1=p2;p2=p;}

  printf("\na=%d,b=%d\n",a,b);

  printf("max=%d,min=%d\n",*p1, *p2);

}


&*pointer_1  这种表达式能不能出现的?


最后编辑2007-08-16 16:07:24
分享到:
gototop
 

讲出答案来啊,不过好像书上都有...
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT