Функция f() - работает с внешними переменными a и b, все остальные переменные в ней не влияют на программу. В ней мы присваиваем переменной b значение переменной а.
Функция g() - работает с внешними переменными a и d, все остальные переменные в ней не влияют на программу. В ней мы присваиваем переменной a результат конкатенации значения переменной d и строки "0".
a b c d
'2' '3' '5' '7'
f() '2' '2' '5' '7'
g() '70' '3' '5' '7'
f() '70' '70' '5' '7'
Выведена будет конкатенация этих строк
"707057"
Если ответ удовлетворил, не забудь отметить его как "Лучший".
Код внутри функции не исполняется до момента её вызова.
Поэтому первыми значениями переменных будут
а = 1 и b = 2.
После вызова функции мы используем внешнюю переменную а и локальную переменную b.
Меняем их местами. Теперь внешняя переменная а = 2, а локальная b = 1.
Выводим первую часть "2 1 ".
Выходим из функции. Во внешней среде у нас остались две переменные а, изменившее своё значение на 2, и b = 2 до сих пор.
Выводим вторую часть "2 2 ".
Получаем на стандартном выводе: "2 1 2 2 ".
Если ответ удовлетворил, не забудь отметить его как "Лучший".
#include <math.h>
#include <cstdlib>
#include <iostream>
using namespace std;
float s(float a,float b,float c)
{
float S,p;
p=(a+b+c)/2;
S=sqrt(p*(p-a)*(p-b)*(p-c));
return S;
}
int main()
{
float a1=1.5,b1=1.5,c1=2.12,a2=1,b2=3,c2=3.15;
float s1,s2;
s1=s(a1,b1,c1);
s2=s(a2,b2,c2);
cout<<s1-s2<<endl;
system("PAUSE");
return 0 ;
}