Запуск исполняемого файла ничего не дает - нужно CTRL + C, чтобы выйти из него - Почему это происходит? - PullRequest
0 голосов
/ 27 марта 2020

В настоящее время я изучаю C, и мне любопытно понять, почему запуск исполняемого файла из приведенного ниже кода не приводит к выводу и почему мне нужно CTRL + C для принудительного завершения (пытаясь также понять, почему и как могут возникать такие ситуации CTRL + C). Код взят из решения, которое я видел при написании указателя версии strcat из K & R.

Примечание. Когда я использую реальную библиотеку строк и использую фактические функции strcpy, strcat, кажется, что быть проблемой.

void point_strcpy(char *s, char *t){
        while ((*s = *t) != '\0') {
                ;
        }
}

void *point_strcat(char *s, char *t) {
        while (*s) {
                s++;
        }
        point_strcpy(s, t);
        return s;
}

int main(){
        char buf[100];
        char *test[] = {"Hi", "World", "it's", "showtime"};
        int num = sizeof(test)/sizeof(test[0]);
        for (int i = 0; i<num; i++){
                for (int j = 0; j<num; j++){
                        point_strcpy(buf, test[i]);
                        point_strcat(buf, test[j]);
                        printf("%s + %s = %s \n", test[i], test[j], buf);
                }
        }
        return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...