鱼C论坛

 找回密码
 立即注册
查看: 1955|回复: 3

NO.116 正确赋值指针

[复制链接]
发表于 2022-3-6 17:49:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Q:若有说明: int *p1,*p2,m=5,n;以下均是正确赋值语句的是
A.p1=&m;p2=&p1;
B.p1=&m;p2=&n;*p1=*p2;
C.p1=&m;p2=p1;
D.p1=&m;*p2=*p1;

为什么只有C正确?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-7 10:24:49 | 显示全部楼层
A.p1=&m;p2=&p1;
p2 = p1;
B.p1=&m;p2=&n;*p1=*p2;
能力有限,我不确定哪个是有问题,用排除法我认为是 *p1 = *p2 ,改成 p1 = p2
D.p1=&m;*p2=*p1
同B
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-8 10:12:49 | 显示全部楼层
p1=&m;p2=p1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-12 17:03:40 | 显示全部楼层
A.
p2=&p1;
[Error] cannot convert 'int**' to 'int*' in assignment

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

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

           printf("p2=%d\n", p2);   // p2=6487560
           printf("*p2=%d\n", *p2); // *p2=67
        
          
        return 0;
}


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

int main()
{
       int *p1,*p2,m=5,n;
       
           p1=&m;
           p2=p1;
           
           printf("&m=%d\n", &m);  // &m=6487564
       
           printf("p1=%d\n", p1);   // p1=6487564
           printf("*p1=%d\n", *p1); // *p1=5
           
           
           printf("p2=%d\n", p2);   // p2=6487564
           printf("*p2=%d\n", *p2); // *p2=5
        
          
        return 0;
}


D.运行无显示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 17:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表