合併人物的名字,姓氏和名字。合併字符串後打印時未得到任何輸出
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);
}
這是代碼
在運行時編譯器不會顯示任何
我不能發現其中的錯誤,幫助我。
它是否有一些循環繼續這種無限或某種邏輯錯誤。
他應該使用'strncpy',因爲'name'的容量嚴格限制爲30個字符。只有使用'strcpy',如果你知道你不能超出限制(這種情況很少)。 – UniversE
@UniversE是或'strcpy_s'(自C11開始)。我在我的答案中鏈接了所有這些功能。 – Nikita
謝謝你我不知道我是如何找不到這樣一個可憐的錯誤。 –