-1
在下面給出的代碼中,我嘗試使用scanf在中使用字符串輸入,而循環。當我打印該字符串時,它將打印出沒有第一個字符。但是,當我將它複製到另一個字符串並打印新字符串時,它會正確打印。printf跳過字符數組的第一個字符
在我的代碼,如果我給「ABC」作爲輸入和打印兩個字符串,然後「BC ABC」打印,而不是「ABC ABC」。
這是什麼原因?我的代碼有問題嗎?
int main()
{
char st1[10],st2[]="";
while(scanf("%s",st1)==1){
strcpy(st2,st1);
printf("%s %s\n",st1,st2);
strcpy(st2,"");
}
return 0;
}
提示:'st2 [] =「」'可能沒有意義。 –
它是C還是C++? – tilz0R
哦!你能解釋爲什麼在使用「st2 [10]」之後它正常工作嗎? @SouravGhosh –