Я сам выполнил функцию strcat(), но после добавления строки он печатает дополнительный символ ascii. Пожалуйста, скажите почему?strcat(); печать дополнительных символов
#include<stdio.h>
#include<conio.h>
#include<string.h>
void xstrcat(char string1[],char string2[]);
void main(void)
{ char x[100];
char string1[40],string2[40];
printf("Enter a string:");
gets(string1);
puts("Enter another string:");
gets(string2);
xstrcat(string1,string2);
printf("%s",string1);
getch();
}
void xstrcat(char string1[],char string2[])
{
int i,x,y;
x=strlen(string1);
y=strlen(string2);
for(i=0;i<y;i++)
{ string1[i+x]=string2[i];
}//for ends
}
@fahad: в верхней части окна есть небольшая кнопка, где вы пишете свой вопрос, который выглядит как '101' \ n' 010'. Пожалуйста, используйте его в своем коде в будущем. Кажется, что каждый вопрос, который вы просите, должен быть переформатирован кем-то другим. – Cogwheel
Tangential на ваш вопрос, но не используйте 'gets': http://stackoverflow.com/questions/2843073/warninggets-function-is-dangerous. Даже в собственной документации говорится, что не использовать его. –
Может быть 'void main', он, как известно, провоцирует * неопределенное поведение *. Лучше переключитесь на правильный 'int main' в ближайшее время. –