我爱橙 发表于 2022-3-10 16:50:44

NO.276 输入指针

Q:若有说明:int *p,m=5,n;
以下正确的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p);
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;

yzzc 发表于 2022-3-10 17:47:38

D
p=&n的意思是,p指向n的地址
*p的意思是,p指向的那个地址里面的值
scanf("%d",p);这样写就行,因为p表示的就是一个地址

我爱橙 发表于 2022-3-11 16:00:28

ABC运行无显示
#include <stdio.h>
#include <math.h>

int main()
{
       int *p,m=5,n;
      
       /p=&n;scanf("%d",&p);
          p=&n;scanf("%d",*p};
          scanf("%d",&n);*p=n;
          /
              printf("p=%d\n", p);
      
           printf("*p=%d\n", *p);
      

      return 0;
}


D
#include <stdio.h>
#include <math.h>

int main()
{
       int *p,m=5,n;
      
           p=&n;*p=m;
          
           printf("p=%d\n", p);       //p=6487564

      
           printf("*p=%d\n", *p);   //*p=5

      

      return 0;
}



页: [1]
查看完整版本: NO.276 输入指针