人の名字を組み合わせる。文字列を結合した後に出力中に何も出力されない
メインint型()
{
int i,j,k;
char first_name[11]="Gursheesh";
char middle_name[10]="Singh";
char last_name[10]="Chawla";
char name[30];
for(i=0;first_name!='\0';i++)
{
name[i]=first_name[i];
}
name[i]=' ';
i++;
for(j=0;middle_name!='\0';j++)
{
name[i+j]=middle_name[j];
}
name[i+j]=' ';
j++;
for(k=0;last_name!='\0';k++)
{
name[i+j+k]=last_name[k];
}
name[i+j+k]='\0';
printf("%s",name);
}
これは、実行時にコード
コンパイラは、私が私を助けて、間違いを見つけることができない、何も
を示していないです。
この無限または論理misktakeをいくらかループしていますか?
'name'の容量は厳密に30文字に制限されているので、彼は' strncpy'を使うべきです。もしあなたが限界を越えることができないことが分かっているのならば、 'strcpy'だけを使用してください(まれにしかありません)。 – UniversE
@UniversEはいまたは 'strcpy_s'(C11以降)です。私は私の答えでこれらすべての機能へのリンクを持っています。 – Nikita
ありがとう私は、このような哀れな過ちをどうして見つけられなかったのか分かりません。 –