Я пишу функцию, которая расширяет строку str1 и сохраняет ее как str2.Под расширением я имею в виду, что если str1 имеет «ad», он должен храниться в str2 как «abcd».Я написал следующий код.Я получаю ошибку отладки, что стек вокруг переменной str1 поврежден.Может кто-нибудь, пожалуйста, укажите, что идет не так?Спасибо.
#include <stdio.h>
void expand(char s1[], char s2[]);
int main() {
char s1[] = "Talha-z";
char s2[] = "";
expand(s1, s2);
printf(s2);
}
void expand(char s1[], char s2[]) {
int i = 0;
int j= 0;
int k, c_next;
while ( s1[i] != '\0') {
switch (s1[i]) {
case ('-') :
c_next = s1[i+1];
for ( k = 1; k < c_next; k++) {
s2[j] = s1[i] + k;
j++;
}
break;
}
i++;
j++;
}
s2[j] = '\0';
}