#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條經(jīng)驗 獲得超6個贊
char s[6]={};
改為
char s[7]={0};
試試,原因是:如果你輸入的id字符串長度等于或大于6個時,前6個字符都會被
復(fù)制到s中,而s只有6個字符的空間,導(dǎo)致s字符串最后的字符不是終止符結(jié)束,cout的輸出結(jié)果就可能會出現(xiàn)亂碼。所以你要把s字符串預(yù)留出一個字符來保存終止符'\0'。
- 3 回答
- 0 關(guān)注
- 146 瀏覽