Чему равны значения переменных ul и n после выполнения следующего кода?
unsigned long ul 42, n 0; unsigned long * p nn; p; p nul; *p *p;
Этот код включает в себя несколько операций с указателями и арифметикой указателей. В начале инициализируются две переменные⁚ ul со значением 42 и n со значением 0. Затем создается указатель p и он указывает на переменную n. Далее происходит операция p, которая увеличивает указатель на размер одного значения типа unsigned long. Таким образом, указатель p теперь указывает на следующую после n ячейку памяти. Затем указатель p переустанавливается, так что он указывает на переменную ul. В конце происходит операция *p *p, которая прибавляет значение переменной, на которую указывает p, к этой же переменной. В данном случае, это эквивалентно ul ul. То есть, значение переменной ul удваивается.
В результате выполнения кода, значение переменной ul будет равно 84, а значение переменной n останется нулем;