毛豆仙人 2022-02-19 15:10 采纳率: 75%
浏览 42
已结题

这些奇奇怪怪的字符是哪里来的捏

题目让求一个字符串里面同一个单词出现的次数。我把每个单词都放到一个字符串数组里面,输出时发现了一堆不知道从哪里来的奇怪字符。

img

img

img

  • 写回答

1条回答 默认 最新

  • grizzly00 2022-02-19 16:00
    关注

    这里是你字符数组初始化的时候错误了,仅定义而未初始化,那么该初值也就是随机的,在后续输入时,前面的字符被你的gets输入覆盖,但100个空间的剩余单位没有被初始化,从而出现『奇奇怪怪』的字符。

    想要验证的话可以将string打印一下看看,你就可以发现问题了。

    for(i = 0; i < 100; i++){
        printf("%c\n", string[i]);
    }
    

    解决方法是可以这样初始化

    char str[100] = {};
    char a[10] = {};
    char b[20][10] = {{}};
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月27日
  • 已采纳回答 2月19日
  • 创建了问题 2月19日