DarrenTitor 发表于 2018-11-20 12:27:59

关于字符串数组定义的问题

本帖最后由 DarrenTitor 于 2018-11-20 12:30 编辑




题目如图
请问为什么我的输出后面有乱码呢?
而且在改成char str={0}; 之后问题就解决了
请教一下原因
#include <stdio.h>

int main()
{
            char str ;    //改为char str ; 后问题解决
            int count = 0;
            printf("请输入一行文字:");
            scanf("%s", str);
            for (int i=0; i<=20; i++)
            {
                        if (str!=' ')
                           {
                                     count++;
                           }
                        else
                           {
                                     break;
                           }
   }
            for(int j=0; j<=count; j++)
            {
          printf("%c", str);
            }
      return 0;
}






KAKUI丶 发表于 2018-11-20 18:16:54

声明一个数组的时候要记得初始化,不然就会出现乱码了,因为声明的数组不给初始化系统不能保证运行的唯一性,而这是我们程序所不允许的
页: [1]
查看完整版本: 关于字符串数组定义的问题