int main() {
char arr1[255];
char arr2[255];
gets(arr1);
gets(arr2);
int n;
scanf("%d", &n);
printf("%s\n", strncat(arr1, arr2, n));
char message[255];
gets(message);
printf("%lu\n", strlen(message));
return 0;
}
Первые два работают нормально, но когда доходит до 3, он не выполняется и длина выводится 0?
scanf("%d", &n);
зачитывает только один int из стандартного ввода. Если ты вводишь число и жмёшь enter, то конец строки остаётся в потоке ввода и читается gets'ом.scanf("%d ", &n);