волшебная функция
// The magic function.
static (int Index, int Value) MagicFunction(int[] array, int target)
{
int index = Array.IndexOf(array, target);
return index != -1 ? (index, array[index]) : (-1, -1);
}
// Используем.
int[] numbers = {2, 4, 6, 8, 10};
int t = 6;
(int i, int v) = MagicFunction(numbers, t);
Console.WriteLine(i != -1 ? $"Элемент {v} найден по индексу {i}." : $"Элемент {t} не найден в массиве.");
// Элемент 6 найден по индексу 2.
get_substr("один", "два три четыре")
, ты в функцию передаешь два строковых литерала, тип которых - const char[ N ]
, где N
- это длина строки литерала включая терминальный символ '\0'
.const char*
в char*
недопустимо, поэтому компилятор и пишет тебе ошибку.char*
вообще не нужен, т.к. полностью все операции у тебя не приводят к изменению состояния строки. Заменить char*
на const char*
будет и логичнее, и понимаемость кода тоже улучшит. 5
будет являться числовым литералом с типом int
.5u
, то тип бы уже был unsigned int
. А если бы ты написал 5lu
, то тип бы уже был unsigned long int
. namespace DelegateDemo
{
public delegate string DemoDel(string s);
class Program
{
static void Main(string[] args)
{
ParamMethod(DelLink); // передача ссылки на метод DelLink в ParamMethod
ParamMethod(s => "(" + s + ")"); // передача анонимной функции в ParamMethod
Console.ReadKey();
}
static bool ParamMethod(DemoDel d)
{
if(d("что угодно") == "2")
{
Console.WriteLine("делегат вернул 2");
}
if(d("5") == "(5)" && d("100500") == "(100500)")
{
Console.WriteLine("делегат обернул число в скобки");
}
}
static string DelLink(string s)
{
return "2";
}
}
}
str1.intern() == str2.intern()
почему я неправильно ссылаюсь к указателю в структуре?zmienna_strukt.a=NULL; ... scanf("%s", wsk->a);
struct morgan zmienna_strukt;
struct morgan *wsk;
unsigned char buf[100];
wsk=&zmienna_strukt;
printf("Впиши значение: ");
fflush(stdout);
scanf("%d", &zmienna_strukt.b);
printf("%d \n\n", zmienna_strukt.b);
zmienna_strukt.a=buf;
buf[0] = 0;
printf("%s \n\n", zmienna_strukt.a);
printf("Впиши значение: ");
fflush(stdout);
scanf("%s", wsk->a);
printf("%s \n\n", wsk->a);