в этом случае у нас сначала происходит операция присваивания, то есть у становится равным 5, а после операция инкремента, то есть х увеличивается на единицу и становится равным 6.
т.о. значение выражения равно 5
2)
int y = 2, x = 5;
у = ++х;
в этом случае у нас сначала происходит операция инкремента, х увеличивается на 1 и становится равным 6, а затем операция присваивания.
т.о. значение выражения равно 6
х++ - постфиксный инкремент
переменная увеличивается после использования ее значения для выполнения сторонних операций
++х - префиксный инкремент
переменная будет увеличивается до того, как будет использовано ее значение в нуждах программы
Объяснение:
const nmax=15;
var a:array[1..nmax,1..nmax] of integer;
m,n,i,j,k,x,y:integer;
begin
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
k:=-1;
for j:=1 to m do
begin
y:=1;
x:=j;
while(x>0) and(y<=n) do
begin
k:=k+1;
a[y,x]:=k;
x:=x-1;
y:=y+1;
end;
end;
for j:=2 to n do
begin
y:=j;
x:=m;
while(x>0)and(y<=n) do
begin
k:=k+1;
a[y,x]:=k;
x:=x-1;
y:=y+1
end;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln
end;
readln
end.
Переведите на Питон, в Паскале давно не работал
1)
int y = 2, x = 5;
у = х++;
в этом случае у нас сначала происходит операция присваивания, то есть у становится равным 5, а после операция инкремента, то есть х увеличивается на единицу и становится равным 6.
т.о. значение выражения равно 5
2)
int y = 2, x = 5;
у = ++х;
в этом случае у нас сначала происходит операция инкремента, х увеличивается на 1 и становится равным 6, а затем операция присваивания.
т.о. значение выражения равно 6
х++ - постфиксный инкремент
переменная увеличивается после использования ее значения для выполнения сторонних операций
++х - префиксный инкремент
переменная будет увеличивается до того, как будет использовано ее значение в нуждах программы