第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將id的前6個字符復(fù)制給s并輸出,為什么得不到想要的東西?哪里的問題?。?/h1>

#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 回答

?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

因為strncpy不自動追加空字符到字符串結(jié)尾,所以s字符串沒有結(jié)尾,需要做s[6] = 0;操作才行

查看完整回答
反對 回復(fù) 2023-03-08
?
慕田峪4524236

TA貢獻1875條經(jīng)驗 獲得超5個贊

如果你輸入的字符串id的長度大于6個,strncpy到s時,會導(dǎo)致s不能正常的是\0結(jié)尾。

查看完整回答
反對 回復(fù) 2023-03-08
?
哈士奇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'。

查看完整回答
反對 回復(fù) 2023-03-08
  • 3 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號