我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

为什么a[31]和a[32]结果不一样啊

char a[32]="",b[]="";
gets(a);
gets(b);
puts(strcat(a,b));

img

img

你没给b分配内存空间,越界了,后面输出什么都有可能
这跟31还是32没有关系,你只要改了代码,重新编译,就换了块内存,那么b里原来是什么就不一样了,就有可能刚好赶上后面是0,就结束了
如果后面不是0,字符串就不结束,就会输出很多乱码

近期文章

  • 用数组的选择排序法为什么没有排序成功
  • 各位学霸,可以帮我改改这个程序嘛?我用的是Devc++
  • 关于#c++#的问题:用这个方式统计大写字母小写字母应该没问题的呀,但就是不对#include <iostream>
  • 提问:为什么会出现下图的错误
  • 怎么写这个c语言程序
  • overleaf输入指令正确,但电脑无法翻译过来为什么?
  • PHP - 从数组调用函数?
  • 朋友们,c语言遇到问题了
  • C++银行卡系统 Help!
  • 有什么方法可以减少pytorch的permute函数运行的时间?
  • PTA口罩发放C语言
  • Cadence DRC错误
  • labelImg使用问题
  • crmeb知识付费系统pc端问题
  • 电脑开不了机,一直出现logonui.exe框闪烁
  • 标题标记未按预期显示
  • vue动态嵌套路由问题
  • C++中使用enum运算
  • Fireworks里的 填空题
  • 总是说最大公约数为56,大家看看哈

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华