qq_37296877 2017-03-12 04:48 采纳率: 61%
浏览 899
已采纳

为什么会出现乱码-- 在map[i][19]那里有问题,老是乱码?

#include
int main(void)
{
char map[20][20];
int i, j;
for (i = 0; i < 20; i++)
{
map[i][0] = '.';
map[i][19] = '.';
map[0][i] = '.';
map[19][i] = '.';
}
for (i = 0; i < 20; i++)
puts(map[i]);
return 0;
}

  • 写回答

1条回答 默认 最新

  • oyljerry 2017-03-12 05:12
    关注

    http://baike.baidu.com/link?url=WPIlbm19kiicK3gyPNKB7-LaWDvJCrGpkj3diUD3Wrb74ZDFwtNQl8Ke__N7jfIaUL2b_KYRu8CnK8iu5GGk9a

    puts输出字符串时要遇到'\0’也就是字符结束符才停止,如上面的程序加上一句 string[10]='\0';

    所以你输出19最后一个元素的时候,乱码就是数组以外的脏数据。数据要加\0结尾

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题
  • ¥15 MS中不知道高分子的构型怎么构建模型