#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 關注
- 161 瀏覽
添加回答
舉報
0/150
提交
取消
