#include <iostream>#include <string.h>using namespace std;int main(){int num,i=0;cin>>num;for(i=0; i<num; i++){char id[18] ;cin>>id;char s[6]={};strncpy(s,id,6);cout<<id<<"\t"<<s<<endl;}return 0;}
3 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
char s[6]={};
改为
char s[7]={0};
试试,原因是:如果你输入的id字符串长度等于或大于6个时,前6个字符都会被
复制到s中,而s只有6个字符的空间,导致s字符串最后的字符不是终止符结束,cout的输出结果就可能会出现乱码。所以你要把s字符串预留出一个字符来保存终止符'\0'。
- 3 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消