Пояснить результат работы кода - C (СИ) (150545)
Формулировка задачи:
Результатом работы этой программы является:а==0.00, b==2.00
Как я понимаю, данный пример на использование глобальных переменных. Поясните, плиз, почему программа так работает.
#include<stdio.h>
double a=0.0;
void xx(double a, double* b){
if(a=1.0) a = *b = 2.0;
else a = *b = 3.0;
}
int main(){
double b=1.0;
xx(a+1,&b);
printf("a==%.2lf, b==%.2lf\n",a,b);
return 0;
}Решение задачи: «Пояснить результат работы кода»
textual
Листинг программы
if(a==1.0) a = *b = 2.0
Объяснение кода листинга программы
- Проверяется условие
a == 1.0. - Если условие истинно, то переменной
aприсваивается значение2.0. - Значение переменной
aкопируется в переменную*bи также присваивается значение2.0.