Ceae 2021-02-08 17:19 采纳率: 54.5%
浏览 54
已采纳

编译提示我无法修改char但我不知道哪错了

  • 写回答

4条回答 默认 最新

  • 惊雲浅谈天 2021-02-09 10:06
    关注

    首先,我不说你代码中的问题,仅从你的问题来看:

    “ 没有报错只有警告,然后什么也没有输出只是一片空白”

    你定义了一个数组a,又定义了一个字符指针b,同时没有给b指针初始化(一般会自动赋为空指针),那么,显然,b永不可能等于"\0".

    第二个for循环没有意义。

    这里我再帮你捋一下逻辑:第一个循环中,你把字符串中的每一个字符的地址赋给了从某一个位置(b指针的初始地址)开始的一小片没有空间的地址。

    第二个循环中,从另一个地址(b的末地址)开始判断,如果b指向的某个东西不等于"\0",则打印b指向的东西的同时b++。

    然而注意!尽管你以为将b的位置向后挪动了几个字符(这几个字符中还不包括\0,不知道你咋想的),b依然是空指针,就是说哪怕是输出b的地址,它都可能是类似乱码一样的东西。

    既没有空间,又没有指向,还有一个未知的地址,简直不要再混乱。

    其次,再说那个警告的问题。

    我猜你现在已经知道错哪了。

    指针就是指针,数组就是数组,想要存储字符串,就应该定义一个固定空间的数组,或者malloc出一块空间。

    指针只能指向该数组的首地址,但不能作为空间被定义,这里编译通过是因为编译器在猜,它猜你定义了某一片空间大小的数组,正好能够存储该字符串,而a则是数组名,因此它给予了警告而不是error。

    这里也是建议你重新学习一下指针和数组。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计