Язык программирования C не имеет типа данных "строка".C поддерживает массивы и указатели на char.
Вы можете обращаться к массиву char, используя указатель, хотя:
char *p;
char str[30];
p = str;
Ваша функция должна возвращать указатель на символ.Изменение вашего кода на
char* check(char str[30])
{
return str;
}
будет работать.Необходимо помнить, что вы возвращаете адрес аргумента, который был передан функции.
Если вы хотите заполнить любую переменную результата в функции, передайте адрес функции:
int check(char* result, char str[]);
void main(void)
{
char str[30], str2[30];
printf("Enter a sentence:");
gets(str);
if (check(str2, str))
{
printf("check succeeded %s\n", str2);
}
getch();
}
int check(char* result, char str[30])
{
int success;
success = ....;
if (success)
{
strcpy(result, str);
}
return v;
}