Zeng-fh 2022-06-27 19:48 采纳率: 89.8%
浏览 51
已结题

几个关于指针的疑问,还涉及结构体、数组


已知:int i,j=7,*p=&i;,则与i=j;等价的语句是
*p=j;

设有定义:struct {char name[12]; int a; double b;}t1,t2;,
且变量均已正确赋值,则以下语句中错误的是(  )
t2.name=t1.name;

下面程序的输出结果是( e )
#include<stdio.h>    
void main()
{    
char s[]="cent";
printf("%c\n",*s+2);
}  

img

  • 写回答

3条回答 默认 最新

  • 天际的海浪 2022-06-27 20:45
    关注
    第一题
    &i是获取i变量的地址,p=&i是p指针指向i的地址,*p=j是对p指针指向的地址进行赋值, 因为p指向i的地址,所以i也被赋值了。
    第二题
    结构体t1和t2变量可以相互赋值的,但是结构体中的name是字符数组,也就等同字符指针,
    对字符数组赋值是要改变数组的地址,但数组的地址不能改变, 所以t2.name=t1.name是错误的
    对t2.name内容赋值应该用   strcpy(t2.name,t1.name); 
    第三题
    s[]是字符数组,也就等同字符指针,s是数组的首元素的地址, *s就是获取数组首元素的值'c',等同s[0],加2运算是对c的ASCII码值加2,结果就是'e'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 赞助了问题酬金10元 6月27日
  • 修改了问题 6月27日
  • 展开全部

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题