Несмотря на мои усилия по решению моей проблемы, всякий раз, когда я скомпилирую свой код, он либо имеет ошибки, либо не работает немедленно. Моя цель - создать массив символов в моей функции 'run_program'
, а затем передать этот массив (как указатель, чтобы я мог немедленно вернуть изменения) в мою функцию my_str_n_cat
. К сожалению, сосать при кодировании, поэтому я не могу его распечатать. Любая помощь будет принята с благодарностью.Передача указателя и печати массива
//Task #1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
char my_str_n_cat (char *source_ptr)
{
(*source_ptr);
printf("My Name Is %s", *source_ptr);
}
//Main ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int run_program()
{
int ;
char source[6] = {'D', 'I', 'L', 'L', 'O', 'N'}, destination[10];
char *source_ptr, *destination_ptr;
source_ptr = source;
my_str_n_cat(&source_ptr);
}
И пока вы на нем, инструкция '(* source_ptr);' ничего не делает. Это эквивалентно '69;'. –
Спасибо за ответ, к сожалению, у моей 'my_str_n_cat (& source_ptr)' есть ошибка, говорящая: «никакой экземпляр перегруженной функции« my_str_n_cat »не соответствует типам аргументов list: (char **)« Любая идея о том, как исправить это? Когда я удаляю ambersand, он просто печатает строку ass null. –
@DillonJ. вы используете компилятор ** C++ **, и это из-за третьей точки в моем ответе, вы передаете указатель несовместимого типа. Если вы работаете с c, вам нужно настроить среду, чтобы использовать правильный компилятор. –