cin >> a ;//最后会自动加上\0空字符,且它占数组的一个char内存 cout << a << endl; return 0; } 输入12345678 输出12345678 注意 运用cin输入一定要给'\0'保留一个空间存放,要不然就会出现’\0‘放到数组之后的内存,出现栈损坏 方法二 可以运用get()函数或getline函数,同样最后系统会自动加上\0空字符...
因为你的字符串数组错误的引用了存在脏数据的内存 要避免,就要初始化数组 memset(str,0,n)将str字符串中前n个字节替换为0并返回str;str为你定义的字符串,n为字符串容量,并非长度,即char a[20],不管你有几个字符,n为20为佳 加上头文件string.h 消息来源华夏联盟,亲 ...
输出时直接给ca,也就相当于字符数组的首地址,然后程序在输出打印数组时是从首地址然后一直打印到'\0'结束。而你程序的内存中在字符 'a'后面不是空白的,也就是有值的,所以就会打印出东西的。所以你可以这样定义:char ca[6]={'e','d','c','b','a','\0'};这样就不会输出乱码了。直...
你用int 型数组存储有什么意图吗?如果没有你应该用char数组存储啊