Programs
Вариант 3
Главная
Код данной программы предназначен только для VS. В Dev-C она будет работать некорректно из-за затирания переменных.
Здесь ошибка
Код:
#include "stdafx.h" #include using namespace std; #define DL 150 int concat(char s1[DL], char s2[DL]) { int i,j; if ((s1[0] == '\0') && (s2[0] == '\0')) return 1; for (i = 0; s1[i] != '\0'; i++); for (j = 0; s2[j] != '\0'; j++); int end = i + j; j = 0; for (i; i < end; i++) { s1[i] = s2[j]; j++; } s1[i] = '\0'; cout << "String: " << s1 << endl; return 0; } int concatadr(char *s1[DL], char *s2[DL]) { int i, j; if ((*s1 == '\0') && (*s2 == '\0')) return 1; for (i = 0; *(s1+i) != '\0'; i++); for (j = 0; *(s2+j) != '\0'; j++); int end = i + j; j = 0; for (i; i < end; i++) { *(s1 + i) = *(s2 + j); j++; } *(s1 + i) = '\0'; cout << "String: " << s1 << endl; return 0; } int main() { char str[DL], str1[DL]; gets_s(str); gets_s(str1); if (concat(str, str1)) cout << "ERROR" << endl; if (concatadr(str, str1)) cout << "ERROR" << endl; return 0; }